AceTime  3.0.0
Date and time classes for Arduino that support timezones from the TZ Database.
zone_infos.cpp
1 // This file was generated by the following script:
2 //
3 // $ /home/brian/src/AceTimeSuite/compiler/src/acetimecompiler/tzcompiler.py
4 // --input_dir /home/brian/src/AceTimeSuite/libraries/AceTime/src/zonedbc/tzfiles
5 // --output_dir /home/brian/src/AceTimeSuite/libraries/AceTime/src/zonedbc
6 // --tz_version 2025a
7 // --action zonedb
8 // --language arduino
9 // --scope complete
10 // --db_namespace zonedbc
11 // --start_year 1800
12 // --until_year 2200
13 //
14 // using the TZ Database files
15 //
16 // africa
17 // antarctica
18 // asia
19 // australasia
20 // backward
21 // etcetera
22 // europe
23 // northamerica
24 // southamerica
25 //
26 // from https://github.com/eggert/tz/releases/tag/2025a
27 //
28 // Supported Zones: 596 (339 zones, 257 links)
29 // Unsupported Zones: 0 (0 zones, 0 links)
30 //
31 // Requested Years: [1800,2200]
32 // Accurate Years: [-32767,32767]
33 //
34 // Original Years: [1844,2087]
35 // Generated Years: [1844,2087]
36 // Lower/Upper Truncated: [False,False]
37 //
38 // Estimator Years: [1800,2090]
39 // Max Buffer Size: 8
40 //
41 // Records:
42 // Infos: 596
43 // Eras: 1942
44 // Policies: 134
45 // Rules: 2235
46 //
47 // Memory (8-bits):
48 // Context: 16
49 // Rules: 26820
50 // Policies: 402
51 // Eras: 29130
52 // Zones: 4407
53 // Links: 3341
54 // Registry: 1192
55 // Formats: 486
56 // Letters: 160
57 // Fragments: 150
58 // Names: 5649 (original: 9076)
59 // TOTAL: 71753
60 //
61 // Memory (32-bits):
62 // Context: 24
63 // Rules: 26820
64 // Policies: 1072
65 // Eras: 38840
66 // Zones: 8136
67 // Links: 6168
68 // Registry: 2384
69 // Formats: 486
70 // Letters: 216
71 // Fragments: 178
72 // Names: 5649 (original: 9076)
73 // TOTAL: 89973
74 //
75 // DO NOT EDIT
76 
77 #include <zoneinfo/compat.h>
78 #include "zone_policies.h"
79 #include "zone_infos.h"
80 
81 namespace ace_time {
82 namespace zonedbc {
83 
84 //---------------------------------------------------------------------------
85 // ZoneContext
86 //---------------------------------------------------------------------------
87 
88 static const char kVersionString[] ACE_TIME_PROGMEM = "2025a";
89 const __FlashStringHelper* const kTzDatabaseVersion =
90  (const __FlashStringHelper*) kVersionString;
91 
92 static const char kFragment1[] ACE_TIME_PROGMEM = "Africa/";
93 static const char kFragment2[] ACE_TIME_PROGMEM = "America/";
94 static const char kFragment3[] ACE_TIME_PROGMEM = "Antarctica/";
95 static const char kFragment4[] ACE_TIME_PROGMEM = "Argentina/";
96 static const char kFragment5[] ACE_TIME_PROGMEM = "Asia/";
97 static const char kFragment6[] ACE_TIME_PROGMEM = "Atlantic/";
98 static const char kFragment7[] ACE_TIME_PROGMEM = "Australia/";
99 static const char kFragment8[] ACE_TIME_PROGMEM = "Brazil/";
100 static const char kFragment9[] ACE_TIME_PROGMEM = "Canada/";
101 static const char kFragment10[] ACE_TIME_PROGMEM = "Etc/";
102 static const char kFragment11[] ACE_TIME_PROGMEM = "Europe/";
103 static const char kFragment12[] ACE_TIME_PROGMEM = "Indian/";
104 static const char kFragment13[] ACE_TIME_PROGMEM = "Indiana/";
105 static const char kFragment14[] ACE_TIME_PROGMEM = "Pacific/";
106 
107 const char* const kFragments[] ACE_TIME_PROGMEM = {
108  nullptr, // '\x00' cannot exist
109  kFragment1, // '\x01' "Africa/"
110  kFragment2, // '\x02' "America/"
111  kFragment3, // '\x03' "Antarctica/"
112  kFragment4, // '\x04' "Argentina/"
113  kFragment5, // '\x05' "Asia/"
114  kFragment6, // '\x06' "Atlantic/"
115  kFragment7, // '\x07' "Australia/"
116  kFragment8, // '\x08' "Brazil/"
117  kFragment9, // '\x09' "Canada/"
118  kFragment10, // '\x0a' "Etc/"
119  kFragment11, // '\x0b' "Europe/"
120  kFragment12, // '\x0c' "Indian/"
121  kFragment13, // '\x0d' "Indiana/"
122  kFragment14, // '\x0e' "Pacific/"
123 
124 };
125 
126 static const char kLetter0[] ACE_TIME_PROGMEM = "";
127 static const char kLetter1[] ACE_TIME_PROGMEM = "+00";
128 static const char kLetter2[] ACE_TIME_PROGMEM = "+02";
129 static const char kLetter3[] ACE_TIME_PROGMEM = "+05";
130 static const char kLetter4[] ACE_TIME_PROGMEM = "-0430";
131 static const char kLetter5[] ACE_TIME_PROGMEM = "-0530";
132 static const char kLetter6[] ACE_TIME_PROGMEM = "BDST";
133 static const char kLetter7[] ACE_TIME_PROGMEM = "BST";
134 static const char kLetter8[] ACE_TIME_PROGMEM = "CAT";
135 static const char kLetter9[] ACE_TIME_PROGMEM = "CDT";
136 static const char kLetter10[] ACE_TIME_PROGMEM = "CPT";
137 static const char kLetter11[] ACE_TIME_PROGMEM = "CST";
138 static const char kLetter12[] ACE_TIME_PROGMEM = "CWT";
139 static const char kLetter13[] ACE_TIME_PROGMEM = "D";
140 static const char kLetter14[] ACE_TIME_PROGMEM = "DD";
141 static const char kLetter15[] ACE_TIME_PROGMEM = "EDT";
142 static const char kLetter16[] ACE_TIME_PROGMEM = "EST";
143 static const char kLetter17[] ACE_TIME_PROGMEM = "GMT";
144 static const char kLetter18[] ACE_TIME_PROGMEM = "M";
145 static const char kLetter19[] ACE_TIME_PROGMEM = "MDST";
146 static const char kLetter20[] ACE_TIME_PROGMEM = "MMT";
147 static const char kLetter21[] ACE_TIME_PROGMEM = "MSD";
148 static const char kLetter22[] ACE_TIME_PROGMEM = "MSK";
149 static const char kLetter23[] ACE_TIME_PROGMEM = "MST";
150 static const char kLetter24[] ACE_TIME_PROGMEM = "P";
151 static const char kLetter25[] ACE_TIME_PROGMEM = "S";
152 static const char kLetter26[] ACE_TIME_PROGMEM = "W";
153 static const char kLetter27[] ACE_TIME_PROGMEM = "WAT";
154 
155 const char* const kLetters[] ACE_TIME_PROGMEM = {
156  kLetter0, // ""
157  kLetter1, // "+00"
158  kLetter2, // "+02"
159  kLetter3, // "+05"
160  kLetter4, // "-0430"
161  kLetter5, // "-0530"
162  kLetter6, // "BDST"
163  kLetter7, // "BST"
164  kLetter8, // "CAT"
165  kLetter9, // "CDT"
166  kLetter10, // "CPT"
167  kLetter11, // "CST"
168  kLetter12, // "CWT"
169  kLetter13, // "D"
170  kLetter14, // "DD"
171  kLetter15, // "EDT"
172  kLetter16, // "EST"
173  kLetter17, // "GMT"
174  kLetter18, // "M"
175  kLetter19, // "MDST"
176  kLetter20, // "MMT"
177  kLetter21, // "MSD"
178  kLetter22, // "MSK"
179  kLetter23, // "MST"
180  kLetter24, // "P"
181  kLetter25, // "S"
182  kLetter26, // "W"
183  kLetter27, // "WAT"
184 
185 };
186 
187 const complete::ZoneContext kZoneContext ACE_TIME_PROGMEM = {
188  1800 /*startYear*/,
189  2200 /*untilYear*/,
190  -32767 /*startYearAccurate*/,
191  32767 /*untilYearAccurate*/,
192  2100 /*baseYear*/,
193  8 /*maxTransitions*/,
194  kVersionString /*tzVersion*/,
195  15 /*numFragments*/,
196  28 /*numLetters*/,
197  kFragments /*fragments*/,
198  kLetters /*letters*/,
199 };
200 
201 //---------------------------------------------------------------------------
202 // Zones: 339
203 // Eras: 1942
204 //---------------------------------------------------------------------------
205 
206 //---------------------------------------------------------------------------
207 // Zone name: Africa/Abidjan
208 // Eras: 2
209 //---------------------------------------------------------------------------
210 
211 static const complete::ZoneEra kZoneEraAfrica_Abidjan[] ACE_TIME_PROGMEM = {
212  // -0:16:08 - LMT 1912 Jan 1
213  {
214  nullptr /*zonePolicy*/,
215  "LMT" /*format*/,
216  -65 /*offsetCode (-968/15)*/,
217  7 /*offsetRemainder (-968%15)*/,
218  0 /*deltaMinutes*/,
219  1912 /*untilYear*/,
220  1 /*untilMonth*/,
221  1 /*untilDay*/,
222  0 /*untilTimeCode (0/15)*/,
223  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
224  },
225  // 0:00 - GMT
226  {
227  nullptr /*zonePolicy*/,
228  "GMT" /*format*/,
229  0 /*offsetCode (0/15)*/,
230  0 /*offsetRemainder (0%15)*/,
231  0 /*deltaMinutes*/,
232  32767 /*untilYear*/,
233  1 /*untilMonth*/,
234  1 /*untilDay*/,
235  0 /*untilTimeCode (0/15)*/,
236  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
237  },
238 
239 };
240 
241 static const char kZoneNameAfrica_Abidjan[] ACE_TIME_PROGMEM = "\x01" "Abidjan";
242 
243 const complete::ZoneInfo kZoneAfrica_Abidjan ACE_TIME_PROGMEM = {
244  kZoneNameAfrica_Abidjan /*name*/,
245  0xc21305a3 /*zoneId*/,
246  &kZoneContext /*zoneContext*/,
247  2 /*numEras*/,
248  kZoneEraAfrica_Abidjan /*eras*/,
249  nullptr /*targetInfo*/,
250 };
251 
252 //---------------------------------------------------------------------------
253 // Zone name: Africa/Algiers
254 // Eras: 10
255 //---------------------------------------------------------------------------
256 
257 static const complete::ZoneEra kZoneEraAfrica_Algiers[] ACE_TIME_PROGMEM = {
258  // 0:12:12 - LMT 1891 Mar 16
259  {
260  nullptr /*zonePolicy*/,
261  "LMT" /*format*/,
262  48 /*offsetCode (732/15)*/,
263  12 /*offsetRemainder (732%15)*/,
264  0 /*deltaMinutes*/,
265  1891 /*untilYear*/,
266  3 /*untilMonth*/,
267  16 /*untilDay*/,
268  0 /*untilTimeCode (0/15)*/,
269  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
270  },
271  // 0:09:21 - PMT 1911 Mar 11
272  {
273  nullptr /*zonePolicy*/,
274  "PMT" /*format*/,
275  37 /*offsetCode (561/15)*/,
276  6 /*offsetRemainder (561%15)*/,
277  0 /*deltaMinutes*/,
278  1911 /*untilYear*/,
279  3 /*untilMonth*/,
280  11 /*untilDay*/,
281  0 /*untilTimeCode (0/15)*/,
282  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
283  },
284  // 0:00 Algeria WE%sT 1940 Feb 25 2:00
285  {
286  &kZonePolicyAlgeria /*zonePolicy*/,
287  "WE%T" /*format*/,
288  0 /*offsetCode (0/15)*/,
289  0 /*offsetRemainder (0%15)*/,
290  0 /*deltaMinutes*/,
291  1940 /*untilYear*/,
292  2 /*untilMonth*/,
293  25 /*untilDay*/,
294  480 /*untilTimeCode (7200/15)*/,
295  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
296  },
297  // 1:00 Algeria CE%sT 1946 Oct 7
298  {
299  &kZonePolicyAlgeria /*zonePolicy*/,
300  "CE%T" /*format*/,
301  240 /*offsetCode (3600/15)*/,
302  0 /*offsetRemainder (3600%15)*/,
303  0 /*deltaMinutes*/,
304  1946 /*untilYear*/,
305  10 /*untilMonth*/,
306  7 /*untilDay*/,
307  0 /*untilTimeCode (0/15)*/,
308  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
309  },
310  // 0:00 - WET 1956 Jan 29
311  {
312  nullptr /*zonePolicy*/,
313  "WET" /*format*/,
314  0 /*offsetCode (0/15)*/,
315  0 /*offsetRemainder (0%15)*/,
316  0 /*deltaMinutes*/,
317  1956 /*untilYear*/,
318  1 /*untilMonth*/,
319  29 /*untilDay*/,
320  0 /*untilTimeCode (0/15)*/,
321  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
322  },
323  // 1:00 - CET 1963 Apr 14
324  {
325  nullptr /*zonePolicy*/,
326  "CET" /*format*/,
327  240 /*offsetCode (3600/15)*/,
328  0 /*offsetRemainder (3600%15)*/,
329  0 /*deltaMinutes*/,
330  1963 /*untilYear*/,
331  4 /*untilMonth*/,
332  14 /*untilDay*/,
333  0 /*untilTimeCode (0/15)*/,
334  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
335  },
336  // 0:00 Algeria WE%sT 1977 Oct 21
337  {
338  &kZonePolicyAlgeria /*zonePolicy*/,
339  "WE%T" /*format*/,
340  0 /*offsetCode (0/15)*/,
341  0 /*offsetRemainder (0%15)*/,
342  0 /*deltaMinutes*/,
343  1977 /*untilYear*/,
344  10 /*untilMonth*/,
345  21 /*untilDay*/,
346  0 /*untilTimeCode (0/15)*/,
347  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
348  },
349  // 1:00 Algeria CE%sT 1979 Oct 26
350  {
351  &kZonePolicyAlgeria /*zonePolicy*/,
352  "CE%T" /*format*/,
353  240 /*offsetCode (3600/15)*/,
354  0 /*offsetRemainder (3600%15)*/,
355  0 /*deltaMinutes*/,
356  1979 /*untilYear*/,
357  10 /*untilMonth*/,
358  26 /*untilDay*/,
359  0 /*untilTimeCode (0/15)*/,
360  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
361  },
362  // 0:00 Algeria WE%sT 1981 May
363  {
364  &kZonePolicyAlgeria /*zonePolicy*/,
365  "WE%T" /*format*/,
366  0 /*offsetCode (0/15)*/,
367  0 /*offsetRemainder (0%15)*/,
368  0 /*deltaMinutes*/,
369  1981 /*untilYear*/,
370  5 /*untilMonth*/,
371  1 /*untilDay*/,
372  0 /*untilTimeCode (0/15)*/,
373  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
374  },
375  // 1:00 - CET
376  {
377  nullptr /*zonePolicy*/,
378  "CET" /*format*/,
379  240 /*offsetCode (3600/15)*/,
380  0 /*offsetRemainder (3600%15)*/,
381  0 /*deltaMinutes*/,
382  32767 /*untilYear*/,
383  1 /*untilMonth*/,
384  1 /*untilDay*/,
385  0 /*untilTimeCode (0/15)*/,
386  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
387  },
388 
389 };
390 
391 static const char kZoneNameAfrica_Algiers[] ACE_TIME_PROGMEM = "\x01" "Algiers";
392 
393 const complete::ZoneInfo kZoneAfrica_Algiers ACE_TIME_PROGMEM = {
394  kZoneNameAfrica_Algiers /*name*/,
395  0xd94515c1 /*zoneId*/,
396  &kZoneContext /*zoneContext*/,
397  10 /*numEras*/,
398  kZoneEraAfrica_Algiers /*eras*/,
399  nullptr /*targetInfo*/,
400 };
401 
402 //---------------------------------------------------------------------------
403 // Zone name: Africa/Bissau
404 // Eras: 3
405 //---------------------------------------------------------------------------
406 
407 static const complete::ZoneEra kZoneEraAfrica_Bissau[] ACE_TIME_PROGMEM = {
408  // -1:02:20 - LMT 1912 Jan 1 1:00u
409  {
410  nullptr /*zonePolicy*/,
411  "LMT" /*format*/,
412  -250 /*offsetCode (-3740/15)*/,
413  10 /*offsetRemainder (-3740%15)*/,
414  0 /*deltaMinutes*/,
415  1912 /*untilYear*/,
416  1 /*untilMonth*/,
417  1 /*untilDay*/,
418  240 /*untilTimeCode (3600/15)*/,
419  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
420  },
421  // -1:00 - %z 1975
422  {
423  nullptr /*zonePolicy*/,
424  "" /*format*/,
425  -240 /*offsetCode (-3600/15)*/,
426  0 /*offsetRemainder (-3600%15)*/,
427  0 /*deltaMinutes*/,
428  1975 /*untilYear*/,
429  1 /*untilMonth*/,
430  1 /*untilDay*/,
431  0 /*untilTimeCode (0/15)*/,
432  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
433  },
434  // 0:00 - GMT
435  {
436  nullptr /*zonePolicy*/,
437  "GMT" /*format*/,
438  0 /*offsetCode (0/15)*/,
439  0 /*offsetRemainder (0%15)*/,
440  0 /*deltaMinutes*/,
441  32767 /*untilYear*/,
442  1 /*untilMonth*/,
443  1 /*untilDay*/,
444  0 /*untilTimeCode (0/15)*/,
445  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
446  },
447 
448 };
449 
450 static const char kZoneNameAfrica_Bissau[] ACE_TIME_PROGMEM = "\x01" "Bissau";
451 
452 const complete::ZoneInfo kZoneAfrica_Bissau ACE_TIME_PROGMEM = {
453  kZoneNameAfrica_Bissau /*name*/,
454  0x75564141 /*zoneId*/,
455  &kZoneContext /*zoneContext*/,
456  3 /*numEras*/,
457  kZoneEraAfrica_Bissau /*eras*/,
458  nullptr /*targetInfo*/,
459 };
460 
461 //---------------------------------------------------------------------------
462 // Zone name: Africa/Cairo
463 // Eras: 2
464 //---------------------------------------------------------------------------
465 
466 static const complete::ZoneEra kZoneEraAfrica_Cairo[] ACE_TIME_PROGMEM = {
467  // 2:05:09 - LMT 1900 Oct
468  {
469  nullptr /*zonePolicy*/,
470  "LMT" /*format*/,
471  500 /*offsetCode (7509/15)*/,
472  9 /*offsetRemainder (7509%15)*/,
473  0 /*deltaMinutes*/,
474  1900 /*untilYear*/,
475  10 /*untilMonth*/,
476  1 /*untilDay*/,
477  0 /*untilTimeCode (0/15)*/,
478  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
479  },
480  // 2:00 Egypt EE%sT
481  {
482  &kZonePolicyEgypt /*zonePolicy*/,
483  "EE%T" /*format*/,
484  480 /*offsetCode (7200/15)*/,
485  0 /*offsetRemainder (7200%15)*/,
486  0 /*deltaMinutes*/,
487  32767 /*untilYear*/,
488  1 /*untilMonth*/,
489  1 /*untilDay*/,
490  0 /*untilTimeCode (0/15)*/,
491  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
492  },
493 
494 };
495 
496 static const char kZoneNameAfrica_Cairo[] ACE_TIME_PROGMEM = "\x01" "Cairo";
497 
498 const complete::ZoneInfo kZoneAfrica_Cairo ACE_TIME_PROGMEM = {
499  kZoneNameAfrica_Cairo /*name*/,
500  0x77f8e228 /*zoneId*/,
501  &kZoneContext /*zoneContext*/,
502  2 /*numEras*/,
503  kZoneEraAfrica_Cairo /*eras*/,
504  nullptr /*targetInfo*/,
505 };
506 
507 //---------------------------------------------------------------------------
508 // Zone name: Africa/Casablanca
509 // Eras: 5
510 //---------------------------------------------------------------------------
511 
512 static const complete::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = {
513  // -0:30:20 - LMT 1913 Oct 26
514  {
515  nullptr /*zonePolicy*/,
516  "LMT" /*format*/,
517  -122 /*offsetCode (-1820/15)*/,
518  10 /*offsetRemainder (-1820%15)*/,
519  0 /*deltaMinutes*/,
520  1913 /*untilYear*/,
521  10 /*untilMonth*/,
522  26 /*untilDay*/,
523  0 /*untilTimeCode (0/15)*/,
524  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
525  },
526  // 0:00 Morocco %z 1984 Mar 16
527  {
528  &kZonePolicyMorocco /*zonePolicy*/,
529  "" /*format*/,
530  0 /*offsetCode (0/15)*/,
531  0 /*offsetRemainder (0%15)*/,
532  0 /*deltaMinutes*/,
533  1984 /*untilYear*/,
534  3 /*untilMonth*/,
535  16 /*untilDay*/,
536  0 /*untilTimeCode (0/15)*/,
537  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
538  },
539  // 1:00 - %z 1986
540  {
541  nullptr /*zonePolicy*/,
542  "" /*format*/,
543  240 /*offsetCode (3600/15)*/,
544  0 /*offsetRemainder (3600%15)*/,
545  0 /*deltaMinutes*/,
546  1986 /*untilYear*/,
547  1 /*untilMonth*/,
548  1 /*untilDay*/,
549  0 /*untilTimeCode (0/15)*/,
550  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
551  },
552  // 0:00 Morocco %z 2018 Oct 28 3:00
553  {
554  &kZonePolicyMorocco /*zonePolicy*/,
555  "" /*format*/,
556  0 /*offsetCode (0/15)*/,
557  0 /*offsetRemainder (0%15)*/,
558  0 /*deltaMinutes*/,
559  2018 /*untilYear*/,
560  10 /*untilMonth*/,
561  28 /*untilDay*/,
562  720 /*untilTimeCode (10800/15)*/,
563  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
564  },
565  // 1:00 Morocco %z
566  {
567  &kZonePolicyMorocco /*zonePolicy*/,
568  "" /*format*/,
569  240 /*offsetCode (3600/15)*/,
570  0 /*offsetRemainder (3600%15)*/,
571  0 /*deltaMinutes*/,
572  32767 /*untilYear*/,
573  1 /*untilMonth*/,
574  1 /*untilDay*/,
575  0 /*untilTimeCode (0/15)*/,
576  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
577  },
578 
579 };
580 
581 static const char kZoneNameAfrica_Casablanca[] ACE_TIME_PROGMEM = "\x01" "Casablanca";
582 
583 const complete::ZoneInfo kZoneAfrica_Casablanca ACE_TIME_PROGMEM = {
584  kZoneNameAfrica_Casablanca /*name*/,
585  0xc59f1b33 /*zoneId*/,
586  &kZoneContext /*zoneContext*/,
587  5 /*numEras*/,
588  kZoneEraAfrica_Casablanca /*eras*/,
589  nullptr /*targetInfo*/,
590 };
591 
592 //---------------------------------------------------------------------------
593 // Zone name: Africa/Ceuta
594 // Eras: 9
595 //---------------------------------------------------------------------------
596 
597 static const complete::ZoneEra kZoneEraAfrica_Ceuta[] ACE_TIME_PROGMEM = {
598  // -0:21:16 - LMT 1901 Jan 1 0:00u
599  {
600  nullptr /*zonePolicy*/,
601  "LMT" /*format*/,
602  -86 /*offsetCode (-1276/15)*/,
603  14 /*offsetRemainder (-1276%15)*/,
604  0 /*deltaMinutes*/,
605  1901 /*untilYear*/,
606  1 /*untilMonth*/,
607  1 /*untilDay*/,
608  0 /*untilTimeCode (0/15)*/,
609  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
610  },
611  // 0:00 - WET 1918 May 6 23:00
612  {
613  nullptr /*zonePolicy*/,
614  "WET" /*format*/,
615  0 /*offsetCode (0/15)*/,
616  0 /*offsetRemainder (0%15)*/,
617  0 /*deltaMinutes*/,
618  1918 /*untilYear*/,
619  5 /*untilMonth*/,
620  6 /*untilDay*/,
621  5520 /*untilTimeCode (82800/15)*/,
622  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
623  },
624  // 0:00 1:00 WEST 1918 Oct 7 23:00
625  {
626  nullptr /*zonePolicy*/,
627  "WEST" /*format*/,
628  0 /*offsetCode (0/15)*/,
629  0 /*offsetRemainder (0%15)*/,
630  60 /*deltaMinutes*/,
631  1918 /*untilYear*/,
632  10 /*untilMonth*/,
633  7 /*untilDay*/,
634  5520 /*untilTimeCode (82800/15)*/,
635  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
636  },
637  // 0:00 - WET 1924
638  {
639  nullptr /*zonePolicy*/,
640  "WET" /*format*/,
641  0 /*offsetCode (0/15)*/,
642  0 /*offsetRemainder (0%15)*/,
643  0 /*deltaMinutes*/,
644  1924 /*untilYear*/,
645  1 /*untilMonth*/,
646  1 /*untilDay*/,
647  0 /*untilTimeCode (0/15)*/,
648  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
649  },
650  // 0:00 Spain WE%sT 1929
651  {
652  &kZonePolicySpain /*zonePolicy*/,
653  "WE%T" /*format*/,
654  0 /*offsetCode (0/15)*/,
655  0 /*offsetRemainder (0%15)*/,
656  0 /*deltaMinutes*/,
657  1929 /*untilYear*/,
658  1 /*untilMonth*/,
659  1 /*untilDay*/,
660  0 /*untilTimeCode (0/15)*/,
661  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
662  },
663  // 0:00 - WET 1967
664  {
665  nullptr /*zonePolicy*/,
666  "WET" /*format*/,
667  0 /*offsetCode (0/15)*/,
668  0 /*offsetRemainder (0%15)*/,
669  0 /*deltaMinutes*/,
670  1967 /*untilYear*/,
671  1 /*untilMonth*/,
672  1 /*untilDay*/,
673  0 /*untilTimeCode (0/15)*/,
674  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
675  },
676  // 0:00 SpainAfrica WE%sT 1984 Mar 16
677  {
678  &kZonePolicySpainAfrica /*zonePolicy*/,
679  "WE%T" /*format*/,
680  0 /*offsetCode (0/15)*/,
681  0 /*offsetRemainder (0%15)*/,
682  0 /*deltaMinutes*/,
683  1984 /*untilYear*/,
684  3 /*untilMonth*/,
685  16 /*untilDay*/,
686  0 /*untilTimeCode (0/15)*/,
687  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
688  },
689  // 1:00 - CET 1986
690  {
691  nullptr /*zonePolicy*/,
692  "CET" /*format*/,
693  240 /*offsetCode (3600/15)*/,
694  0 /*offsetRemainder (3600%15)*/,
695  0 /*deltaMinutes*/,
696  1986 /*untilYear*/,
697  1 /*untilMonth*/,
698  1 /*untilDay*/,
699  0 /*untilTimeCode (0/15)*/,
700  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
701  },
702  // 1:00 EU CE%sT
703  {
704  &kZonePolicyEU /*zonePolicy*/,
705  "CE%T" /*format*/,
706  240 /*offsetCode (3600/15)*/,
707  0 /*offsetRemainder (3600%15)*/,
708  0 /*deltaMinutes*/,
709  32767 /*untilYear*/,
710  1 /*untilMonth*/,
711  1 /*untilDay*/,
712  0 /*untilTimeCode (0/15)*/,
713  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
714  },
715 
716 };
717 
718 static const char kZoneNameAfrica_Ceuta[] ACE_TIME_PROGMEM = "\x01" "Ceuta";
719 
720 const complete::ZoneInfo kZoneAfrica_Ceuta ACE_TIME_PROGMEM = {
721  kZoneNameAfrica_Ceuta /*name*/,
722  0x77fb46ec /*zoneId*/,
723  &kZoneContext /*zoneContext*/,
724  9 /*numEras*/,
725  kZoneEraAfrica_Ceuta /*eras*/,
726  nullptr /*targetInfo*/,
727 };
728 
729 //---------------------------------------------------------------------------
730 // Zone name: Africa/El_Aaiun
731 // Eras: 4
732 //---------------------------------------------------------------------------
733 
734 static const complete::ZoneEra kZoneEraAfrica_El_Aaiun[] ACE_TIME_PROGMEM = {
735  // -0:52:48 - LMT 1934 Jan
736  {
737  nullptr /*zonePolicy*/,
738  "LMT" /*format*/,
739  -212 /*offsetCode (-3168/15)*/,
740  12 /*offsetRemainder (-3168%15)*/,
741  0 /*deltaMinutes*/,
742  1934 /*untilYear*/,
743  1 /*untilMonth*/,
744  1 /*untilDay*/,
745  0 /*untilTimeCode (0/15)*/,
746  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
747  },
748  // -1:00 - %z 1976 Apr 14
749  {
750  nullptr /*zonePolicy*/,
751  "" /*format*/,
752  -240 /*offsetCode (-3600/15)*/,
753  0 /*offsetRemainder (-3600%15)*/,
754  0 /*deltaMinutes*/,
755  1976 /*untilYear*/,
756  4 /*untilMonth*/,
757  14 /*untilDay*/,
758  0 /*untilTimeCode (0/15)*/,
759  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
760  },
761  // 0:00 Morocco %z 2018 Oct 28 3:00
762  {
763  &kZonePolicyMorocco /*zonePolicy*/,
764  "" /*format*/,
765  0 /*offsetCode (0/15)*/,
766  0 /*offsetRemainder (0%15)*/,
767  0 /*deltaMinutes*/,
768  2018 /*untilYear*/,
769  10 /*untilMonth*/,
770  28 /*untilDay*/,
771  720 /*untilTimeCode (10800/15)*/,
772  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
773  },
774  // 1:00 Morocco %z
775  {
776  &kZonePolicyMorocco /*zonePolicy*/,
777  "" /*format*/,
778  240 /*offsetCode (3600/15)*/,
779  0 /*offsetRemainder (3600%15)*/,
780  0 /*deltaMinutes*/,
781  32767 /*untilYear*/,
782  1 /*untilMonth*/,
783  1 /*untilDay*/,
784  0 /*untilTimeCode (0/15)*/,
785  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
786  },
787 
788 };
789 
790 static const char kZoneNameAfrica_El_Aaiun[] ACE_TIME_PROGMEM = "\x01" "El_Aaiun";
791 
792 const complete::ZoneInfo kZoneAfrica_El_Aaiun ACE_TIME_PROGMEM = {
793  kZoneNameAfrica_El_Aaiun /*name*/,
794  0x9d6fb118 /*zoneId*/,
795  &kZoneContext /*zoneContext*/,
796  4 /*numEras*/,
797  kZoneEraAfrica_El_Aaiun /*eras*/,
798  nullptr /*targetInfo*/,
799 };
800 
801 //---------------------------------------------------------------------------
802 // Zone name: Africa/Johannesburg
803 // Eras: 3
804 //---------------------------------------------------------------------------
805 
806 static const complete::ZoneEra kZoneEraAfrica_Johannesburg[] ACE_TIME_PROGMEM = {
807  // 1:52:00 - LMT 1892 Feb 8
808  {
809  nullptr /*zonePolicy*/,
810  "LMT" /*format*/,
811  448 /*offsetCode (6720/15)*/,
812  0 /*offsetRemainder (6720%15)*/,
813  0 /*deltaMinutes*/,
814  1892 /*untilYear*/,
815  2 /*untilMonth*/,
816  8 /*untilDay*/,
817  0 /*untilTimeCode (0/15)*/,
818  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
819  },
820  // 1:30 - SAST 1903 Mar
821  {
822  nullptr /*zonePolicy*/,
823  "SAST" /*format*/,
824  360 /*offsetCode (5400/15)*/,
825  0 /*offsetRemainder (5400%15)*/,
826  0 /*deltaMinutes*/,
827  1903 /*untilYear*/,
828  3 /*untilMonth*/,
829  1 /*untilDay*/,
830  0 /*untilTimeCode (0/15)*/,
831  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
832  },
833  // 2:00 SA SAST
834  {
835  &kZonePolicySA /*zonePolicy*/,
836  "SAST" /*format*/,
837  480 /*offsetCode (7200/15)*/,
838  0 /*offsetRemainder (7200%15)*/,
839  0 /*deltaMinutes*/,
840  32767 /*untilYear*/,
841  1 /*untilMonth*/,
842  1 /*untilDay*/,
843  0 /*untilTimeCode (0/15)*/,
844  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
845  },
846 
847 };
848 
849 static const char kZoneNameAfrica_Johannesburg[] ACE_TIME_PROGMEM = "\x01" "Johannesburg";
850 
851 const complete::ZoneInfo kZoneAfrica_Johannesburg ACE_TIME_PROGMEM = {
852  kZoneNameAfrica_Johannesburg /*name*/,
853  0xd5d157a0 /*zoneId*/,
854  &kZoneContext /*zoneContext*/,
855  3 /*numEras*/,
856  kZoneEraAfrica_Johannesburg /*eras*/,
857  nullptr /*targetInfo*/,
858 };
859 
860 //---------------------------------------------------------------------------
861 // Zone name: Africa/Juba
862 // Eras: 4
863 //---------------------------------------------------------------------------
864 
865 static const complete::ZoneEra kZoneEraAfrica_Juba[] ACE_TIME_PROGMEM = {
866  // 2:06:28 - LMT 1931
867  {
868  nullptr /*zonePolicy*/,
869  "LMT" /*format*/,
870  505 /*offsetCode (7588/15)*/,
871  13 /*offsetRemainder (7588%15)*/,
872  0 /*deltaMinutes*/,
873  1931 /*untilYear*/,
874  1 /*untilMonth*/,
875  1 /*untilDay*/,
876  0 /*untilTimeCode (0/15)*/,
877  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
878  },
879  // 2:00 Sudan CA%sT 2000 Jan 15 12:00
880  {
881  &kZonePolicySudan /*zonePolicy*/,
882  "CA%T" /*format*/,
883  480 /*offsetCode (7200/15)*/,
884  0 /*offsetRemainder (7200%15)*/,
885  0 /*deltaMinutes*/,
886  2000 /*untilYear*/,
887  1 /*untilMonth*/,
888  15 /*untilDay*/,
889  2880 /*untilTimeCode (43200/15)*/,
890  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
891  },
892  // 3:00 - EAT 2021 Feb 1 00:00
893  {
894  nullptr /*zonePolicy*/,
895  "EAT" /*format*/,
896  720 /*offsetCode (10800/15)*/,
897  0 /*offsetRemainder (10800%15)*/,
898  0 /*deltaMinutes*/,
899  2021 /*untilYear*/,
900  2 /*untilMonth*/,
901  1 /*untilDay*/,
902  0 /*untilTimeCode (0/15)*/,
903  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
904  },
905  // 2:00 - CAT
906  {
907  nullptr /*zonePolicy*/,
908  "CAT" /*format*/,
909  480 /*offsetCode (7200/15)*/,
910  0 /*offsetRemainder (7200%15)*/,
911  0 /*deltaMinutes*/,
912  32767 /*untilYear*/,
913  1 /*untilMonth*/,
914  1 /*untilDay*/,
915  0 /*untilTimeCode (0/15)*/,
916  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
917  },
918 
919 };
920 
921 static const char kZoneNameAfrica_Juba[] ACE_TIME_PROGMEM = "\x01" "Juba";
922 
923 const complete::ZoneInfo kZoneAfrica_Juba ACE_TIME_PROGMEM = {
924  kZoneNameAfrica_Juba /*name*/,
925  0xd51b395c /*zoneId*/,
926  &kZoneContext /*zoneContext*/,
927  4 /*numEras*/,
928  kZoneEraAfrica_Juba /*eras*/,
929  nullptr /*targetInfo*/,
930 };
931 
932 //---------------------------------------------------------------------------
933 // Zone name: Africa/Khartoum
934 // Eras: 4
935 //---------------------------------------------------------------------------
936 
937 static const complete::ZoneEra kZoneEraAfrica_Khartoum[] ACE_TIME_PROGMEM = {
938  // 2:10:08 - LMT 1931
939  {
940  nullptr /*zonePolicy*/,
941  "LMT" /*format*/,
942  520 /*offsetCode (7808/15)*/,
943  8 /*offsetRemainder (7808%15)*/,
944  0 /*deltaMinutes*/,
945  1931 /*untilYear*/,
946  1 /*untilMonth*/,
947  1 /*untilDay*/,
948  0 /*untilTimeCode (0/15)*/,
949  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
950  },
951  // 2:00 Sudan CA%sT 2000 Jan 15 12:00
952  {
953  &kZonePolicySudan /*zonePolicy*/,
954  "CA%T" /*format*/,
955  480 /*offsetCode (7200/15)*/,
956  0 /*offsetRemainder (7200%15)*/,
957  0 /*deltaMinutes*/,
958  2000 /*untilYear*/,
959  1 /*untilMonth*/,
960  15 /*untilDay*/,
961  2880 /*untilTimeCode (43200/15)*/,
962  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
963  },
964  // 3:00 - EAT 2017 Nov 1
965  {
966  nullptr /*zonePolicy*/,
967  "EAT" /*format*/,
968  720 /*offsetCode (10800/15)*/,
969  0 /*offsetRemainder (10800%15)*/,
970  0 /*deltaMinutes*/,
971  2017 /*untilYear*/,
972  11 /*untilMonth*/,
973  1 /*untilDay*/,
974  0 /*untilTimeCode (0/15)*/,
975  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
976  },
977  // 2:00 - CAT
978  {
979  nullptr /*zonePolicy*/,
980  "CAT" /*format*/,
981  480 /*offsetCode (7200/15)*/,
982  0 /*offsetRemainder (7200%15)*/,
983  0 /*deltaMinutes*/,
984  32767 /*untilYear*/,
985  1 /*untilMonth*/,
986  1 /*untilDay*/,
987  0 /*untilTimeCode (0/15)*/,
988  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
989  },
990 
991 };
992 
993 static const char kZoneNameAfrica_Khartoum[] ACE_TIME_PROGMEM = "\x01" "Khartoum";
994 
995 const complete::ZoneInfo kZoneAfrica_Khartoum ACE_TIME_PROGMEM = {
996  kZoneNameAfrica_Khartoum /*name*/,
997  0xfb3d4205 /*zoneId*/,
998  &kZoneContext /*zoneContext*/,
999  4 /*numEras*/,
1000  kZoneEraAfrica_Khartoum /*eras*/,
1001  nullptr /*targetInfo*/,
1002 };
1003 
1004 //---------------------------------------------------------------------------
1005 // Zone name: Africa/Lagos
1006 // Eras: 5
1007 //---------------------------------------------------------------------------
1008 
1009 static const complete::ZoneEra kZoneEraAfrica_Lagos[] ACE_TIME_PROGMEM = {
1010  // 0:13:35 - LMT 1905 Jul 1
1011  {
1012  nullptr /*zonePolicy*/,
1013  "LMT" /*format*/,
1014  54 /*offsetCode (815/15)*/,
1015  5 /*offsetRemainder (815%15)*/,
1016  0 /*deltaMinutes*/,
1017  1905 /*untilYear*/,
1018  7 /*untilMonth*/,
1019  1 /*untilDay*/,
1020  0 /*untilTimeCode (0/15)*/,
1021  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1022  },
1023  // 0:00 - GMT 1908 Jul 1
1024  {
1025  nullptr /*zonePolicy*/,
1026  "GMT" /*format*/,
1027  0 /*offsetCode (0/15)*/,
1028  0 /*offsetRemainder (0%15)*/,
1029  0 /*deltaMinutes*/,
1030  1908 /*untilYear*/,
1031  7 /*untilMonth*/,
1032  1 /*untilDay*/,
1033  0 /*untilTimeCode (0/15)*/,
1034  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1035  },
1036  // 0:13:35 - LMT 1914 Jan 1
1037  {
1038  nullptr /*zonePolicy*/,
1039  "LMT" /*format*/,
1040  54 /*offsetCode (815/15)*/,
1041  5 /*offsetRemainder (815%15)*/,
1042  0 /*deltaMinutes*/,
1043  1914 /*untilYear*/,
1044  1 /*untilMonth*/,
1045  1 /*untilDay*/,
1046  0 /*untilTimeCode (0/15)*/,
1047  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1048  },
1049  // 0:30 - %z 1919 Sep 1
1050  {
1051  nullptr /*zonePolicy*/,
1052  "" /*format*/,
1053  120 /*offsetCode (1800/15)*/,
1054  0 /*offsetRemainder (1800%15)*/,
1055  0 /*deltaMinutes*/,
1056  1919 /*untilYear*/,
1057  9 /*untilMonth*/,
1058  1 /*untilDay*/,
1059  0 /*untilTimeCode (0/15)*/,
1060  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1061  },
1062  // 1:00 - WAT
1063  {
1064  nullptr /*zonePolicy*/,
1065  "WAT" /*format*/,
1066  240 /*offsetCode (3600/15)*/,
1067  0 /*offsetRemainder (3600%15)*/,
1068  0 /*deltaMinutes*/,
1069  32767 /*untilYear*/,
1070  1 /*untilMonth*/,
1071  1 /*untilDay*/,
1072  0 /*untilTimeCode (0/15)*/,
1073  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1074  },
1075 
1076 };
1077 
1078 static const char kZoneNameAfrica_Lagos[] ACE_TIME_PROGMEM = "\x01" "Lagos";
1079 
1080 const complete::ZoneInfo kZoneAfrica_Lagos ACE_TIME_PROGMEM = {
1081  kZoneNameAfrica_Lagos /*name*/,
1082  0x789bb5d0 /*zoneId*/,
1083  &kZoneContext /*zoneContext*/,
1084  5 /*numEras*/,
1085  kZoneEraAfrica_Lagos /*eras*/,
1086  nullptr /*targetInfo*/,
1087 };
1088 
1089 //---------------------------------------------------------------------------
1090 // Zone name: Africa/Maputo
1091 // Eras: 2
1092 //---------------------------------------------------------------------------
1093 
1094 static const complete::ZoneEra kZoneEraAfrica_Maputo[] ACE_TIME_PROGMEM = {
1095  // 2:10:18 - LMT 1909
1096  {
1097  nullptr /*zonePolicy*/,
1098  "LMT" /*format*/,
1099  521 /*offsetCode (7818/15)*/,
1100  3 /*offsetRemainder (7818%15)*/,
1101  0 /*deltaMinutes*/,
1102  1909 /*untilYear*/,
1103  1 /*untilMonth*/,
1104  1 /*untilDay*/,
1105  0 /*untilTimeCode (0/15)*/,
1106  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1107  },
1108  // 2:00 - CAT
1109  {
1110  nullptr /*zonePolicy*/,
1111  "CAT" /*format*/,
1112  480 /*offsetCode (7200/15)*/,
1113  0 /*offsetRemainder (7200%15)*/,
1114  0 /*deltaMinutes*/,
1115  32767 /*untilYear*/,
1116  1 /*untilMonth*/,
1117  1 /*untilDay*/,
1118  0 /*untilTimeCode (0/15)*/,
1119  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1120  },
1121 
1122 };
1123 
1124 static const char kZoneNameAfrica_Maputo[] ACE_TIME_PROGMEM = "\x01" "Maputo";
1125 
1126 const complete::ZoneInfo kZoneAfrica_Maputo ACE_TIME_PROGMEM = {
1127  kZoneNameAfrica_Maputo /*name*/,
1128  0x8e6ca1f0 /*zoneId*/,
1129  &kZoneContext /*zoneContext*/,
1130  2 /*numEras*/,
1131  kZoneEraAfrica_Maputo /*eras*/,
1132  nullptr /*targetInfo*/,
1133 };
1134 
1135 //---------------------------------------------------------------------------
1136 // Zone name: Africa/Monrovia
1137 // Eras: 4
1138 //---------------------------------------------------------------------------
1139 
1140 static const complete::ZoneEra kZoneEraAfrica_Monrovia[] ACE_TIME_PROGMEM = {
1141  // -0:43:08 - LMT 1882
1142  {
1143  nullptr /*zonePolicy*/,
1144  "LMT" /*format*/,
1145  -173 /*offsetCode (-2588/15)*/,
1146  7 /*offsetRemainder (-2588%15)*/,
1147  0 /*deltaMinutes*/,
1148  1882 /*untilYear*/,
1149  1 /*untilMonth*/,
1150  1 /*untilDay*/,
1151  0 /*untilTimeCode (0/15)*/,
1152  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1153  },
1154  // -0:43:08 - MMT 1919 Mar
1155  {
1156  nullptr /*zonePolicy*/,
1157  "MMT" /*format*/,
1158  -173 /*offsetCode (-2588/15)*/,
1159  7 /*offsetRemainder (-2588%15)*/,
1160  0 /*deltaMinutes*/,
1161  1919 /*untilYear*/,
1162  3 /*untilMonth*/,
1163  1 /*untilDay*/,
1164  0 /*untilTimeCode (0/15)*/,
1165  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1166  },
1167  // -0:44:30 - MMT 1972 Jan 7
1168  {
1169  nullptr /*zonePolicy*/,
1170  "MMT" /*format*/,
1171  -178 /*offsetCode (-2670/15)*/,
1172  0 /*offsetRemainder (-2670%15)*/,
1173  0 /*deltaMinutes*/,
1174  1972 /*untilYear*/,
1175  1 /*untilMonth*/,
1176  7 /*untilDay*/,
1177  0 /*untilTimeCode (0/15)*/,
1178  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1179  },
1180  // 0:00 - GMT
1181  {
1182  nullptr /*zonePolicy*/,
1183  "GMT" /*format*/,
1184  0 /*offsetCode (0/15)*/,
1185  0 /*offsetRemainder (0%15)*/,
1186  0 /*deltaMinutes*/,
1187  32767 /*untilYear*/,
1188  1 /*untilMonth*/,
1189  1 /*untilDay*/,
1190  0 /*untilTimeCode (0/15)*/,
1191  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1192  },
1193 
1194 };
1195 
1196 static const char kZoneNameAfrica_Monrovia[] ACE_TIME_PROGMEM = "\x01" "Monrovia";
1197 
1198 const complete::ZoneInfo kZoneAfrica_Monrovia ACE_TIME_PROGMEM = {
1199  kZoneNameAfrica_Monrovia /*name*/,
1200  0x0ce90385 /*zoneId*/,
1201  &kZoneContext /*zoneContext*/,
1202  4 /*numEras*/,
1203  kZoneEraAfrica_Monrovia /*eras*/,
1204  nullptr /*targetInfo*/,
1205 };
1206 
1207 //---------------------------------------------------------------------------
1208 // Zone name: Africa/Nairobi
1209 // Eras: 6
1210 //---------------------------------------------------------------------------
1211 
1212 static const complete::ZoneEra kZoneEraAfrica_Nairobi[] ACE_TIME_PROGMEM = {
1213  // 2:27:16 - LMT 1908 May
1214  {
1215  nullptr /*zonePolicy*/,
1216  "LMT" /*format*/,
1217  589 /*offsetCode (8836/15)*/,
1218  1 /*offsetRemainder (8836%15)*/,
1219  0 /*deltaMinutes*/,
1220  1908 /*untilYear*/,
1221  5 /*untilMonth*/,
1222  1 /*untilDay*/,
1223  0 /*untilTimeCode (0/15)*/,
1224  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1225  },
1226  // 2:30 - %z 1928 Jun 30 24:00
1227  {
1228  nullptr /*zonePolicy*/,
1229  "" /*format*/,
1230  600 /*offsetCode (9000/15)*/,
1231  0 /*offsetRemainder (9000%15)*/,
1232  0 /*deltaMinutes*/,
1233  1928 /*untilYear*/,
1234  6 /*untilMonth*/,
1235  30 /*untilDay*/,
1236  5760 /*untilTimeCode (86400/15)*/,
1237  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1238  },
1239  // 3:00 - EAT 1930 Jan 4 24:00
1240  {
1241  nullptr /*zonePolicy*/,
1242  "EAT" /*format*/,
1243  720 /*offsetCode (10800/15)*/,
1244  0 /*offsetRemainder (10800%15)*/,
1245  0 /*deltaMinutes*/,
1246  1930 /*untilYear*/,
1247  1 /*untilMonth*/,
1248  4 /*untilDay*/,
1249  5760 /*untilTimeCode (86400/15)*/,
1250  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1251  },
1252  // 2:30 - %z 1936 Dec 31 24:00
1253  {
1254  nullptr /*zonePolicy*/,
1255  "" /*format*/,
1256  600 /*offsetCode (9000/15)*/,
1257  0 /*offsetRemainder (9000%15)*/,
1258  0 /*deltaMinutes*/,
1259  1936 /*untilYear*/,
1260  12 /*untilMonth*/,
1261  31 /*untilDay*/,
1262  5760 /*untilTimeCode (86400/15)*/,
1263  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1264  },
1265  // 2:45 - %z 1942 Jul 31 24:00
1266  {
1267  nullptr /*zonePolicy*/,
1268  "" /*format*/,
1269  660 /*offsetCode (9900/15)*/,
1270  0 /*offsetRemainder (9900%15)*/,
1271  0 /*deltaMinutes*/,
1272  1942 /*untilYear*/,
1273  7 /*untilMonth*/,
1274  31 /*untilDay*/,
1275  5760 /*untilTimeCode (86400/15)*/,
1276  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1277  },
1278  // 3:00 - EAT
1279  {
1280  nullptr /*zonePolicy*/,
1281  "EAT" /*format*/,
1282  720 /*offsetCode (10800/15)*/,
1283  0 /*offsetRemainder (10800%15)*/,
1284  0 /*deltaMinutes*/,
1285  32767 /*untilYear*/,
1286  1 /*untilMonth*/,
1287  1 /*untilDay*/,
1288  0 /*untilTimeCode (0/15)*/,
1289  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1290  },
1291 
1292 };
1293 
1294 static const char kZoneNameAfrica_Nairobi[] ACE_TIME_PROGMEM = "\x01" "Nairobi";
1295 
1296 const complete::ZoneInfo kZoneAfrica_Nairobi ACE_TIME_PROGMEM = {
1297  kZoneNameAfrica_Nairobi /*name*/,
1298  0xa87ab57e /*zoneId*/,
1299  &kZoneContext /*zoneContext*/,
1300  6 /*numEras*/,
1301  kZoneEraAfrica_Nairobi /*eras*/,
1302  nullptr /*targetInfo*/,
1303 };
1304 
1305 //---------------------------------------------------------------------------
1306 // Zone name: Africa/Ndjamena
1307 // Eras: 4
1308 //---------------------------------------------------------------------------
1309 
1310 static const complete::ZoneEra kZoneEraAfrica_Ndjamena[] ACE_TIME_PROGMEM = {
1311  // 1:00:12 - LMT 1912 Jan 1
1312  {
1313  nullptr /*zonePolicy*/,
1314  "LMT" /*format*/,
1315  240 /*offsetCode (3612/15)*/,
1316  12 /*offsetRemainder (3612%15)*/,
1317  0 /*deltaMinutes*/,
1318  1912 /*untilYear*/,
1319  1 /*untilMonth*/,
1320  1 /*untilDay*/,
1321  0 /*untilTimeCode (0/15)*/,
1322  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1323  },
1324  // 1:00 - WAT 1979 Oct 14
1325  {
1326  nullptr /*zonePolicy*/,
1327  "WAT" /*format*/,
1328  240 /*offsetCode (3600/15)*/,
1329  0 /*offsetRemainder (3600%15)*/,
1330  0 /*deltaMinutes*/,
1331  1979 /*untilYear*/,
1332  10 /*untilMonth*/,
1333  14 /*untilDay*/,
1334  0 /*untilTimeCode (0/15)*/,
1335  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1336  },
1337  // 1:00 1:00 WAST 1980 Mar 8
1338  {
1339  nullptr /*zonePolicy*/,
1340  "WAST" /*format*/,
1341  240 /*offsetCode (3600/15)*/,
1342  0 /*offsetRemainder (3600%15)*/,
1343  60 /*deltaMinutes*/,
1344  1980 /*untilYear*/,
1345  3 /*untilMonth*/,
1346  8 /*untilDay*/,
1347  0 /*untilTimeCode (0/15)*/,
1348  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1349  },
1350  // 1:00 - WAT
1351  {
1352  nullptr /*zonePolicy*/,
1353  "WAT" /*format*/,
1354  240 /*offsetCode (3600/15)*/,
1355  0 /*offsetRemainder (3600%15)*/,
1356  0 /*deltaMinutes*/,
1357  32767 /*untilYear*/,
1358  1 /*untilMonth*/,
1359  1 /*untilDay*/,
1360  0 /*untilTimeCode (0/15)*/,
1361  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1362  },
1363 
1364 };
1365 
1366 static const char kZoneNameAfrica_Ndjamena[] ACE_TIME_PROGMEM = "\x01" "Ndjamena";
1367 
1368 const complete::ZoneInfo kZoneAfrica_Ndjamena ACE_TIME_PROGMEM = {
1369  kZoneNameAfrica_Ndjamena /*name*/,
1370  0x9fe09898 /*zoneId*/,
1371  &kZoneContext /*zoneContext*/,
1372  4 /*numEras*/,
1373  kZoneEraAfrica_Ndjamena /*eras*/,
1374  nullptr /*targetInfo*/,
1375 };
1376 
1377 //---------------------------------------------------------------------------
1378 // Zone name: Africa/Sao_Tome
1379 // Eras: 5
1380 //---------------------------------------------------------------------------
1381 
1382 static const complete::ZoneEra kZoneEraAfrica_Sao_Tome[] ACE_TIME_PROGMEM = {
1383  // 0:26:56 - LMT 1884
1384  {
1385  nullptr /*zonePolicy*/,
1386  "LMT" /*format*/,
1387  107 /*offsetCode (1616/15)*/,
1388  11 /*offsetRemainder (1616%15)*/,
1389  0 /*deltaMinutes*/,
1390  1884 /*untilYear*/,
1391  1 /*untilMonth*/,
1392  1 /*untilDay*/,
1393  0 /*untilTimeCode (0/15)*/,
1394  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1395  },
1396  // -0:36:45 - LMT 1912 Jan 1 00:00u
1397  {
1398  nullptr /*zonePolicy*/,
1399  "LMT" /*format*/,
1400  -147 /*offsetCode (-2205/15)*/,
1401  0 /*offsetRemainder (-2205%15)*/,
1402  0 /*deltaMinutes*/,
1403  1912 /*untilYear*/,
1404  1 /*untilMonth*/,
1405  1 /*untilDay*/,
1406  0 /*untilTimeCode (0/15)*/,
1407  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
1408  },
1409  // 0:00 - GMT 2018 Jan 1 01:00
1410  {
1411  nullptr /*zonePolicy*/,
1412  "GMT" /*format*/,
1413  0 /*offsetCode (0/15)*/,
1414  0 /*offsetRemainder (0%15)*/,
1415  0 /*deltaMinutes*/,
1416  2018 /*untilYear*/,
1417  1 /*untilMonth*/,
1418  1 /*untilDay*/,
1419  240 /*untilTimeCode (3600/15)*/,
1420  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1421  },
1422  // 1:00 - WAT 2019 Jan 1 02:00
1423  {
1424  nullptr /*zonePolicy*/,
1425  "WAT" /*format*/,
1426  240 /*offsetCode (3600/15)*/,
1427  0 /*offsetRemainder (3600%15)*/,
1428  0 /*deltaMinutes*/,
1429  2019 /*untilYear*/,
1430  1 /*untilMonth*/,
1431  1 /*untilDay*/,
1432  480 /*untilTimeCode (7200/15)*/,
1433  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1434  },
1435  // 0:00 - GMT
1436  {
1437  nullptr /*zonePolicy*/,
1438  "GMT" /*format*/,
1439  0 /*offsetCode (0/15)*/,
1440  0 /*offsetRemainder (0%15)*/,
1441  0 /*deltaMinutes*/,
1442  32767 /*untilYear*/,
1443  1 /*untilMonth*/,
1444  1 /*untilDay*/,
1445  0 /*untilTimeCode (0/15)*/,
1446  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1447  },
1448 
1449 };
1450 
1451 static const char kZoneNameAfrica_Sao_Tome[] ACE_TIME_PROGMEM = "\x01" "Sao_Tome";
1452 
1453 const complete::ZoneInfo kZoneAfrica_Sao_Tome ACE_TIME_PROGMEM = {
1454  kZoneNameAfrica_Sao_Tome /*name*/,
1455  0x61b319d1 /*zoneId*/,
1456  &kZoneContext /*zoneContext*/,
1457  5 /*numEras*/,
1458  kZoneEraAfrica_Sao_Tome /*eras*/,
1459  nullptr /*targetInfo*/,
1460 };
1461 
1462 //---------------------------------------------------------------------------
1463 // Zone name: Africa/Tripoli
1464 // Eras: 9
1465 //---------------------------------------------------------------------------
1466 
1467 static const complete::ZoneEra kZoneEraAfrica_Tripoli[] ACE_TIME_PROGMEM = {
1468  // 0:52:44 - LMT 1920
1469  {
1470  nullptr /*zonePolicy*/,
1471  "LMT" /*format*/,
1472  210 /*offsetCode (3164/15)*/,
1473  14 /*offsetRemainder (3164%15)*/,
1474  0 /*deltaMinutes*/,
1475  1920 /*untilYear*/,
1476  1 /*untilMonth*/,
1477  1 /*untilDay*/,
1478  0 /*untilTimeCode (0/15)*/,
1479  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1480  },
1481  // 1:00 Libya CE%sT 1959
1482  {
1483  &kZonePolicyLibya /*zonePolicy*/,
1484  "CE%T" /*format*/,
1485  240 /*offsetCode (3600/15)*/,
1486  0 /*offsetRemainder (3600%15)*/,
1487  0 /*deltaMinutes*/,
1488  1959 /*untilYear*/,
1489  1 /*untilMonth*/,
1490  1 /*untilDay*/,
1491  0 /*untilTimeCode (0/15)*/,
1492  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1493  },
1494  // 2:00 - EET 1982
1495  {
1496  nullptr /*zonePolicy*/,
1497  "EET" /*format*/,
1498  480 /*offsetCode (7200/15)*/,
1499  0 /*offsetRemainder (7200%15)*/,
1500  0 /*deltaMinutes*/,
1501  1982 /*untilYear*/,
1502  1 /*untilMonth*/,
1503  1 /*untilDay*/,
1504  0 /*untilTimeCode (0/15)*/,
1505  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1506  },
1507  // 1:00 Libya CE%sT 1990 May 4
1508  {
1509  &kZonePolicyLibya /*zonePolicy*/,
1510  "CE%T" /*format*/,
1511  240 /*offsetCode (3600/15)*/,
1512  0 /*offsetRemainder (3600%15)*/,
1513  0 /*deltaMinutes*/,
1514  1990 /*untilYear*/,
1515  5 /*untilMonth*/,
1516  4 /*untilDay*/,
1517  0 /*untilTimeCode (0/15)*/,
1518  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1519  },
1520  // 2:00 - EET 1996 Sep 30
1521  {
1522  nullptr /*zonePolicy*/,
1523  "EET" /*format*/,
1524  480 /*offsetCode (7200/15)*/,
1525  0 /*offsetRemainder (7200%15)*/,
1526  0 /*deltaMinutes*/,
1527  1996 /*untilYear*/,
1528  9 /*untilMonth*/,
1529  30 /*untilDay*/,
1530  0 /*untilTimeCode (0/15)*/,
1531  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1532  },
1533  // 1:00 Libya CE%sT 1997 Oct 4
1534  {
1535  &kZonePolicyLibya /*zonePolicy*/,
1536  "CE%T" /*format*/,
1537  240 /*offsetCode (3600/15)*/,
1538  0 /*offsetRemainder (3600%15)*/,
1539  0 /*deltaMinutes*/,
1540  1997 /*untilYear*/,
1541  10 /*untilMonth*/,
1542  4 /*untilDay*/,
1543  0 /*untilTimeCode (0/15)*/,
1544  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1545  },
1546  // 2:00 - EET 2012 Nov 10 2:00
1547  {
1548  nullptr /*zonePolicy*/,
1549  "EET" /*format*/,
1550  480 /*offsetCode (7200/15)*/,
1551  0 /*offsetRemainder (7200%15)*/,
1552  0 /*deltaMinutes*/,
1553  2012 /*untilYear*/,
1554  11 /*untilMonth*/,
1555  10 /*untilDay*/,
1556  480 /*untilTimeCode (7200/15)*/,
1557  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1558  },
1559  // 1:00 Libya CE%sT 2013 Oct 25 2:00
1560  {
1561  &kZonePolicyLibya /*zonePolicy*/,
1562  "CE%T" /*format*/,
1563  240 /*offsetCode (3600/15)*/,
1564  0 /*offsetRemainder (3600%15)*/,
1565  0 /*deltaMinutes*/,
1566  2013 /*untilYear*/,
1567  10 /*untilMonth*/,
1568  25 /*untilDay*/,
1569  480 /*untilTimeCode (7200/15)*/,
1570  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1571  },
1572  // 2:00 - EET
1573  {
1574  nullptr /*zonePolicy*/,
1575  "EET" /*format*/,
1576  480 /*offsetCode (7200/15)*/,
1577  0 /*offsetRemainder (7200%15)*/,
1578  0 /*deltaMinutes*/,
1579  32767 /*untilYear*/,
1580  1 /*untilMonth*/,
1581  1 /*untilDay*/,
1582  0 /*untilTimeCode (0/15)*/,
1583  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1584  },
1585 
1586 };
1587 
1588 static const char kZoneNameAfrica_Tripoli[] ACE_TIME_PROGMEM = "\x01" "Tripoli";
1589 
1590 const complete::ZoneInfo kZoneAfrica_Tripoli ACE_TIME_PROGMEM = {
1591  kZoneNameAfrica_Tripoli /*name*/,
1592  0x9dfebd3d /*zoneId*/,
1593  &kZoneContext /*zoneContext*/,
1594  9 /*numEras*/,
1595  kZoneEraAfrica_Tripoli /*eras*/,
1596  nullptr /*targetInfo*/,
1597 };
1598 
1599 //---------------------------------------------------------------------------
1600 // Zone name: Africa/Tunis
1601 // Eras: 3
1602 //---------------------------------------------------------------------------
1603 
1604 static const complete::ZoneEra kZoneEraAfrica_Tunis[] ACE_TIME_PROGMEM = {
1605  // 0:40:44 - LMT 1881 May 12
1606  {
1607  nullptr /*zonePolicy*/,
1608  "LMT" /*format*/,
1609  162 /*offsetCode (2444/15)*/,
1610  14 /*offsetRemainder (2444%15)*/,
1611  0 /*deltaMinutes*/,
1612  1881 /*untilYear*/,
1613  5 /*untilMonth*/,
1614  12 /*untilDay*/,
1615  0 /*untilTimeCode (0/15)*/,
1616  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1617  },
1618  // 0:09:21 - PMT 1911 Mar 11
1619  {
1620  nullptr /*zonePolicy*/,
1621  "PMT" /*format*/,
1622  37 /*offsetCode (561/15)*/,
1623  6 /*offsetRemainder (561%15)*/,
1624  0 /*deltaMinutes*/,
1625  1911 /*untilYear*/,
1626  3 /*untilMonth*/,
1627  11 /*untilDay*/,
1628  0 /*untilTimeCode (0/15)*/,
1629  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1630  },
1631  // 1:00 Tunisia CE%sT
1632  {
1633  &kZonePolicyTunisia /*zonePolicy*/,
1634  "CE%T" /*format*/,
1635  240 /*offsetCode (3600/15)*/,
1636  0 /*offsetRemainder (3600%15)*/,
1637  0 /*deltaMinutes*/,
1638  32767 /*untilYear*/,
1639  1 /*untilMonth*/,
1640  1 /*untilDay*/,
1641  0 /*untilTimeCode (0/15)*/,
1642  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1643  },
1644 
1645 };
1646 
1647 static const char kZoneNameAfrica_Tunis[] ACE_TIME_PROGMEM = "\x01" "Tunis";
1648 
1649 const complete::ZoneInfo kZoneAfrica_Tunis ACE_TIME_PROGMEM = {
1650  kZoneNameAfrica_Tunis /*name*/,
1651  0x79378e6d /*zoneId*/,
1652  &kZoneContext /*zoneContext*/,
1653  3 /*numEras*/,
1654  kZoneEraAfrica_Tunis /*eras*/,
1655  nullptr /*targetInfo*/,
1656 };
1657 
1658 //---------------------------------------------------------------------------
1659 // Zone name: Africa/Windhoek
1660 // Eras: 6
1661 //---------------------------------------------------------------------------
1662 
1663 static const complete::ZoneEra kZoneEraAfrica_Windhoek[] ACE_TIME_PROGMEM = {
1664  // 1:08:24 - LMT 1892 Feb 8
1665  {
1666  nullptr /*zonePolicy*/,
1667  "LMT" /*format*/,
1668  273 /*offsetCode (4104/15)*/,
1669  9 /*offsetRemainder (4104%15)*/,
1670  0 /*deltaMinutes*/,
1671  1892 /*untilYear*/,
1672  2 /*untilMonth*/,
1673  8 /*untilDay*/,
1674  0 /*untilTimeCode (0/15)*/,
1675  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1676  },
1677  // 1:30 - %z 1903 Mar
1678  {
1679  nullptr /*zonePolicy*/,
1680  "" /*format*/,
1681  360 /*offsetCode (5400/15)*/,
1682  0 /*offsetRemainder (5400%15)*/,
1683  0 /*deltaMinutes*/,
1684  1903 /*untilYear*/,
1685  3 /*untilMonth*/,
1686  1 /*untilDay*/,
1687  0 /*untilTimeCode (0/15)*/,
1688  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1689  },
1690  // 2:00 - SAST 1942 Sep 20 2:00
1691  {
1692  nullptr /*zonePolicy*/,
1693  "SAST" /*format*/,
1694  480 /*offsetCode (7200/15)*/,
1695  0 /*offsetRemainder (7200%15)*/,
1696  0 /*deltaMinutes*/,
1697  1942 /*untilYear*/,
1698  9 /*untilMonth*/,
1699  20 /*untilDay*/,
1700  480 /*untilTimeCode (7200/15)*/,
1701  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1702  },
1703  // 2:00 1:00 SAST 1943 Mar 21 2:00
1704  {
1705  nullptr /*zonePolicy*/,
1706  "SAST" /*format*/,
1707  480 /*offsetCode (7200/15)*/,
1708  0 /*offsetRemainder (7200%15)*/,
1709  60 /*deltaMinutes*/,
1710  1943 /*untilYear*/,
1711  3 /*untilMonth*/,
1712  21 /*untilDay*/,
1713  480 /*untilTimeCode (7200/15)*/,
1714  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1715  },
1716  // 2:00 - SAST 1990 Mar 21
1717  {
1718  nullptr /*zonePolicy*/,
1719  "SAST" /*format*/,
1720  480 /*offsetCode (7200/15)*/,
1721  0 /*offsetRemainder (7200%15)*/,
1722  0 /*deltaMinutes*/,
1723  1990 /*untilYear*/,
1724  3 /*untilMonth*/,
1725  21 /*untilDay*/,
1726  0 /*untilTimeCode (0/15)*/,
1727  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1728  },
1729  // 2:00 Namibia %s
1730  {
1731  &kZonePolicyNamibia /*zonePolicy*/,
1732  "%" /*format*/,
1733  480 /*offsetCode (7200/15)*/,
1734  0 /*offsetRemainder (7200%15)*/,
1735  0 /*deltaMinutes*/,
1736  32767 /*untilYear*/,
1737  1 /*untilMonth*/,
1738  1 /*untilDay*/,
1739  0 /*untilTimeCode (0/15)*/,
1740  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1741  },
1742 
1743 };
1744 
1745 static const char kZoneNameAfrica_Windhoek[] ACE_TIME_PROGMEM = "\x01" "Windhoek";
1746 
1747 const complete::ZoneInfo kZoneAfrica_Windhoek ACE_TIME_PROGMEM = {
1748  kZoneNameAfrica_Windhoek /*name*/,
1749  0x789c9bd3 /*zoneId*/,
1750  &kZoneContext /*zoneContext*/,
1751  6 /*numEras*/,
1752  kZoneEraAfrica_Windhoek /*eras*/,
1753  nullptr /*targetInfo*/,
1754 };
1755 
1756 //---------------------------------------------------------------------------
1757 // Zone name: America/Adak
1758 // Eras: 9
1759 //---------------------------------------------------------------------------
1760 
1761 static const complete::ZoneEra kZoneEraAmerica_Adak[] ACE_TIME_PROGMEM = {
1762  // 12:13:22 - LMT 1867 Oct 19 12:44:35
1763  {
1764  nullptr /*zonePolicy*/,
1765  "LMT" /*format*/,
1766  2933 /*offsetCode (44002/15)*/,
1767  7 /*offsetRemainder (44002%15)*/,
1768  0 /*deltaMinutes*/,
1769  1867 /*untilYear*/,
1770  10 /*untilMonth*/,
1771  19 /*untilDay*/,
1772  3058 /*untilTimeCode (45875/15)*/,
1773  5 /*untilTimeModifier (kAtcSuffixW + seconds=5)*/,
1774  },
1775  // -11:46:38 - LMT 1900 Aug 20 12:00
1776  {
1777  nullptr /*zonePolicy*/,
1778  "LMT" /*format*/,
1779  -2827 /*offsetCode (-42398/15)*/,
1780  7 /*offsetRemainder (-42398%15)*/,
1781  0 /*deltaMinutes*/,
1782  1900 /*untilYear*/,
1783  8 /*untilMonth*/,
1784  20 /*untilDay*/,
1785  2880 /*untilTimeCode (43200/15)*/,
1786  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1787  },
1788  // -11:00 - NST 1942
1789  {
1790  nullptr /*zonePolicy*/,
1791  "NST" /*format*/,
1792  -2640 /*offsetCode (-39600/15)*/,
1793  0 /*offsetRemainder (-39600%15)*/,
1794  0 /*deltaMinutes*/,
1795  1942 /*untilYear*/,
1796  1 /*untilMonth*/,
1797  1 /*untilDay*/,
1798  0 /*untilTimeCode (0/15)*/,
1799  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1800  },
1801  // -11:00 US N%sT 1946
1802  {
1803  &kZonePolicyUS /*zonePolicy*/,
1804  "N%T" /*format*/,
1805  -2640 /*offsetCode (-39600/15)*/,
1806  0 /*offsetRemainder (-39600%15)*/,
1807  0 /*deltaMinutes*/,
1808  1946 /*untilYear*/,
1809  1 /*untilMonth*/,
1810  1 /*untilDay*/,
1811  0 /*untilTimeCode (0/15)*/,
1812  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1813  },
1814  // -11:00 - NST 1967 Apr
1815  {
1816  nullptr /*zonePolicy*/,
1817  "NST" /*format*/,
1818  -2640 /*offsetCode (-39600/15)*/,
1819  0 /*offsetRemainder (-39600%15)*/,
1820  0 /*deltaMinutes*/,
1821  1967 /*untilYear*/,
1822  4 /*untilMonth*/,
1823  1 /*untilDay*/,
1824  0 /*untilTimeCode (0/15)*/,
1825  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1826  },
1827  // -11:00 - BST 1969
1828  {
1829  nullptr /*zonePolicy*/,
1830  "BST" /*format*/,
1831  -2640 /*offsetCode (-39600/15)*/,
1832  0 /*offsetRemainder (-39600%15)*/,
1833  0 /*deltaMinutes*/,
1834  1969 /*untilYear*/,
1835  1 /*untilMonth*/,
1836  1 /*untilDay*/,
1837  0 /*untilTimeCode (0/15)*/,
1838  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1839  },
1840  // -11:00 US B%sT 1983 Oct 30 2:00
1841  {
1842  &kZonePolicyUS /*zonePolicy*/,
1843  "B%T" /*format*/,
1844  -2640 /*offsetCode (-39600/15)*/,
1845  0 /*offsetRemainder (-39600%15)*/,
1846  0 /*deltaMinutes*/,
1847  1983 /*untilYear*/,
1848  10 /*untilMonth*/,
1849  30 /*untilDay*/,
1850  480 /*untilTimeCode (7200/15)*/,
1851  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1852  },
1853  // -10:00 US AH%sT 1983 Nov 30
1854  {
1855  &kZonePolicyUS /*zonePolicy*/,
1856  "AH%T" /*format*/,
1857  -2400 /*offsetCode (-36000/15)*/,
1858  0 /*offsetRemainder (-36000%15)*/,
1859  0 /*deltaMinutes*/,
1860  1983 /*untilYear*/,
1861  11 /*untilMonth*/,
1862  30 /*untilDay*/,
1863  0 /*untilTimeCode (0/15)*/,
1864  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1865  },
1866  // -10:00 US H%sT
1867  {
1868  &kZonePolicyUS /*zonePolicy*/,
1869  "H%T" /*format*/,
1870  -2400 /*offsetCode (-36000/15)*/,
1871  0 /*offsetRemainder (-36000%15)*/,
1872  0 /*deltaMinutes*/,
1873  32767 /*untilYear*/,
1874  1 /*untilMonth*/,
1875  1 /*untilDay*/,
1876  0 /*untilTimeCode (0/15)*/,
1877  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1878  },
1879 
1880 };
1881 
1882 static const char kZoneNameAmerica_Adak[] ACE_TIME_PROGMEM = "\x02" "Adak";
1883 
1884 const complete::ZoneInfo kZoneAmerica_Adak ACE_TIME_PROGMEM = {
1885  kZoneNameAmerica_Adak /*name*/,
1886  0x97fe49d7 /*zoneId*/,
1887  &kZoneContext /*zoneContext*/,
1888  9 /*numEras*/,
1889  kZoneEraAmerica_Adak /*eras*/,
1890  nullptr /*targetInfo*/,
1891 };
1892 
1893 //---------------------------------------------------------------------------
1894 // Zone name: America/Anchorage
1895 // Eras: 8
1896 //---------------------------------------------------------------------------
1897 
1898 static const complete::ZoneEra kZoneEraAmerica_Anchorage[] ACE_TIME_PROGMEM = {
1899  // 14:00:24 - LMT 1867 Oct 19 14:31:37
1900  {
1901  nullptr /*zonePolicy*/,
1902  "LMT" /*format*/,
1903  3361 /*offsetCode (50424/15)*/,
1904  9 /*offsetRemainder (50424%15)*/,
1905  0 /*deltaMinutes*/,
1906  1867 /*untilYear*/,
1907  10 /*untilMonth*/,
1908  19 /*untilDay*/,
1909  3486 /*untilTimeCode (52297/15)*/,
1910  7 /*untilTimeModifier (kAtcSuffixW + seconds=7)*/,
1911  },
1912  // -9:59:36 - LMT 1900 Aug 20 12:00
1913  {
1914  nullptr /*zonePolicy*/,
1915  "LMT" /*format*/,
1916  -2399 /*offsetCode (-35976/15)*/,
1917  9 /*offsetRemainder (-35976%15)*/,
1918  0 /*deltaMinutes*/,
1919  1900 /*untilYear*/,
1920  8 /*untilMonth*/,
1921  20 /*untilDay*/,
1922  2880 /*untilTimeCode (43200/15)*/,
1923  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1924  },
1925  // -10:00 - AST 1942
1926  {
1927  nullptr /*zonePolicy*/,
1928  "AST" /*format*/,
1929  -2400 /*offsetCode (-36000/15)*/,
1930  0 /*offsetRemainder (-36000%15)*/,
1931  0 /*deltaMinutes*/,
1932  1942 /*untilYear*/,
1933  1 /*untilMonth*/,
1934  1 /*untilDay*/,
1935  0 /*untilTimeCode (0/15)*/,
1936  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1937  },
1938  // -10:00 US A%sT 1967 Apr
1939  {
1940  &kZonePolicyUS /*zonePolicy*/,
1941  "A%T" /*format*/,
1942  -2400 /*offsetCode (-36000/15)*/,
1943  0 /*offsetRemainder (-36000%15)*/,
1944  0 /*deltaMinutes*/,
1945  1967 /*untilYear*/,
1946  4 /*untilMonth*/,
1947  1 /*untilDay*/,
1948  0 /*untilTimeCode (0/15)*/,
1949  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1950  },
1951  // -10:00 - AHST 1969
1952  {
1953  nullptr /*zonePolicy*/,
1954  "AHST" /*format*/,
1955  -2400 /*offsetCode (-36000/15)*/,
1956  0 /*offsetRemainder (-36000%15)*/,
1957  0 /*deltaMinutes*/,
1958  1969 /*untilYear*/,
1959  1 /*untilMonth*/,
1960  1 /*untilDay*/,
1961  0 /*untilTimeCode (0/15)*/,
1962  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1963  },
1964  // -10:00 US AH%sT 1983 Oct 30 2:00
1965  {
1966  &kZonePolicyUS /*zonePolicy*/,
1967  "AH%T" /*format*/,
1968  -2400 /*offsetCode (-36000/15)*/,
1969  0 /*offsetRemainder (-36000%15)*/,
1970  0 /*deltaMinutes*/,
1971  1983 /*untilYear*/,
1972  10 /*untilMonth*/,
1973  30 /*untilDay*/,
1974  480 /*untilTimeCode (7200/15)*/,
1975  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1976  },
1977  // -9:00 US Y%sT 1983 Nov 30
1978  {
1979  &kZonePolicyUS /*zonePolicy*/,
1980  "Y%T" /*format*/,
1981  -2160 /*offsetCode (-32400/15)*/,
1982  0 /*offsetRemainder (-32400%15)*/,
1983  0 /*deltaMinutes*/,
1984  1983 /*untilYear*/,
1985  11 /*untilMonth*/,
1986  30 /*untilDay*/,
1987  0 /*untilTimeCode (0/15)*/,
1988  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
1989  },
1990  // -9:00 US AK%sT
1991  {
1992  &kZonePolicyUS /*zonePolicy*/,
1993  "AK%T" /*format*/,
1994  -2160 /*offsetCode (-32400/15)*/,
1995  0 /*offsetRemainder (-32400%15)*/,
1996  0 /*deltaMinutes*/,
1997  32767 /*untilYear*/,
1998  1 /*untilMonth*/,
1999  1 /*untilDay*/,
2000  0 /*untilTimeCode (0/15)*/,
2001  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2002  },
2003 
2004 };
2005 
2006 static const char kZoneNameAmerica_Anchorage[] ACE_TIME_PROGMEM = "\x02" "Anchorage";
2007 
2008 const complete::ZoneInfo kZoneAmerica_Anchorage ACE_TIME_PROGMEM = {
2009  kZoneNameAmerica_Anchorage /*name*/,
2010  0x5a79260e /*zoneId*/,
2011  &kZoneContext /*zoneContext*/,
2012  8 /*numEras*/,
2013  kZoneEraAmerica_Anchorage /*eras*/,
2014  nullptr /*targetInfo*/,
2015 };
2016 
2017 //---------------------------------------------------------------------------
2018 // Zone name: America/Araguaina
2019 // Eras: 7
2020 //---------------------------------------------------------------------------
2021 
2022 static const complete::ZoneEra kZoneEraAmerica_Araguaina[] ACE_TIME_PROGMEM = {
2023  // -3:12:48 - LMT 1914
2024  {
2025  nullptr /*zonePolicy*/,
2026  "LMT" /*format*/,
2027  -772 /*offsetCode (-11568/15)*/,
2028  12 /*offsetRemainder (-11568%15)*/,
2029  0 /*deltaMinutes*/,
2030  1914 /*untilYear*/,
2031  1 /*untilMonth*/,
2032  1 /*untilDay*/,
2033  0 /*untilTimeCode (0/15)*/,
2034  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2035  },
2036  // -3:00 Brazil %z 1990 Sep 17
2037  {
2038  &kZonePolicyBrazil /*zonePolicy*/,
2039  "" /*format*/,
2040  -720 /*offsetCode (-10800/15)*/,
2041  0 /*offsetRemainder (-10800%15)*/,
2042  0 /*deltaMinutes*/,
2043  1990 /*untilYear*/,
2044  9 /*untilMonth*/,
2045  17 /*untilDay*/,
2046  0 /*untilTimeCode (0/15)*/,
2047  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2048  },
2049  // -3:00 - %z 1995 Sep 14
2050  {
2051  nullptr /*zonePolicy*/,
2052  "" /*format*/,
2053  -720 /*offsetCode (-10800/15)*/,
2054  0 /*offsetRemainder (-10800%15)*/,
2055  0 /*deltaMinutes*/,
2056  1995 /*untilYear*/,
2057  9 /*untilMonth*/,
2058  14 /*untilDay*/,
2059  0 /*untilTimeCode (0/15)*/,
2060  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2061  },
2062  // -3:00 Brazil %z 2003 Sep 24
2063  {
2064  &kZonePolicyBrazil /*zonePolicy*/,
2065  "" /*format*/,
2066  -720 /*offsetCode (-10800/15)*/,
2067  0 /*offsetRemainder (-10800%15)*/,
2068  0 /*deltaMinutes*/,
2069  2003 /*untilYear*/,
2070  9 /*untilMonth*/,
2071  24 /*untilDay*/,
2072  0 /*untilTimeCode (0/15)*/,
2073  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2074  },
2075  // -3:00 - %z 2012 Oct 21
2076  {
2077  nullptr /*zonePolicy*/,
2078  "" /*format*/,
2079  -720 /*offsetCode (-10800/15)*/,
2080  0 /*offsetRemainder (-10800%15)*/,
2081  0 /*deltaMinutes*/,
2082  2012 /*untilYear*/,
2083  10 /*untilMonth*/,
2084  21 /*untilDay*/,
2085  0 /*untilTimeCode (0/15)*/,
2086  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2087  },
2088  // -3:00 Brazil %z 2013 Sep
2089  {
2090  &kZonePolicyBrazil /*zonePolicy*/,
2091  "" /*format*/,
2092  -720 /*offsetCode (-10800/15)*/,
2093  0 /*offsetRemainder (-10800%15)*/,
2094  0 /*deltaMinutes*/,
2095  2013 /*untilYear*/,
2096  9 /*untilMonth*/,
2097  1 /*untilDay*/,
2098  0 /*untilTimeCode (0/15)*/,
2099  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2100  },
2101  // -3:00 - %z
2102  {
2103  nullptr /*zonePolicy*/,
2104  "" /*format*/,
2105  -720 /*offsetCode (-10800/15)*/,
2106  0 /*offsetRemainder (-10800%15)*/,
2107  0 /*deltaMinutes*/,
2108  32767 /*untilYear*/,
2109  1 /*untilMonth*/,
2110  1 /*untilDay*/,
2111  0 /*untilTimeCode (0/15)*/,
2112  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2113  },
2114 
2115 };
2116 
2117 static const char kZoneNameAmerica_Araguaina[] ACE_TIME_PROGMEM = "\x02" "Araguaina";
2118 
2119 const complete::ZoneInfo kZoneAmerica_Araguaina ACE_TIME_PROGMEM = {
2120  kZoneNameAmerica_Araguaina /*name*/,
2121  0x6f9a3aef /*zoneId*/,
2122  &kZoneContext /*zoneContext*/,
2123  7 /*numEras*/,
2124  kZoneEraAmerica_Araguaina /*eras*/,
2125  nullptr /*targetInfo*/,
2126 };
2127 
2128 //---------------------------------------------------------------------------
2129 // Zone name: America/Argentina/Buenos_Aires
2130 // Eras: 7
2131 //---------------------------------------------------------------------------
2132 
2133 static const complete::ZoneEra kZoneEraAmerica_Argentina_Buenos_Aires[] ACE_TIME_PROGMEM = {
2134  // -3:53:48 - LMT 1894 Oct 31
2135  {
2136  nullptr /*zonePolicy*/,
2137  "LMT" /*format*/,
2138  -936 /*offsetCode (-14028/15)*/,
2139  12 /*offsetRemainder (-14028%15)*/,
2140  0 /*deltaMinutes*/,
2141  1894 /*untilYear*/,
2142  10 /*untilMonth*/,
2143  31 /*untilDay*/,
2144  0 /*untilTimeCode (0/15)*/,
2145  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2146  },
2147  // -4:16:48 - CMT 1920 May
2148  {
2149  nullptr /*zonePolicy*/,
2150  "CMT" /*format*/,
2151  -1028 /*offsetCode (-15408/15)*/,
2152  12 /*offsetRemainder (-15408%15)*/,
2153  0 /*deltaMinutes*/,
2154  1920 /*untilYear*/,
2155  5 /*untilMonth*/,
2156  1 /*untilDay*/,
2157  0 /*untilTimeCode (0/15)*/,
2158  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2159  },
2160  // -4:00 - %z 1930 Dec
2161  {
2162  nullptr /*zonePolicy*/,
2163  "" /*format*/,
2164  -960 /*offsetCode (-14400/15)*/,
2165  0 /*offsetRemainder (-14400%15)*/,
2166  0 /*deltaMinutes*/,
2167  1930 /*untilYear*/,
2168  12 /*untilMonth*/,
2169  1 /*untilDay*/,
2170  0 /*untilTimeCode (0/15)*/,
2171  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2172  },
2173  // -4:00 Arg %z 1969 Oct 5
2174  {
2175  &kZonePolicyArg /*zonePolicy*/,
2176  "" /*format*/,
2177  -960 /*offsetCode (-14400/15)*/,
2178  0 /*offsetRemainder (-14400%15)*/,
2179  0 /*deltaMinutes*/,
2180  1969 /*untilYear*/,
2181  10 /*untilMonth*/,
2182  5 /*untilDay*/,
2183  0 /*untilTimeCode (0/15)*/,
2184  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2185  },
2186  // -3:00 Arg %z 1999 Oct 3
2187  {
2188  &kZonePolicyArg /*zonePolicy*/,
2189  "" /*format*/,
2190  -720 /*offsetCode (-10800/15)*/,
2191  0 /*offsetRemainder (-10800%15)*/,
2192  0 /*deltaMinutes*/,
2193  1999 /*untilYear*/,
2194  10 /*untilMonth*/,
2195  3 /*untilDay*/,
2196  0 /*untilTimeCode (0/15)*/,
2197  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2198  },
2199  // -4:00 Arg %z 2000 Mar 3
2200  {
2201  &kZonePolicyArg /*zonePolicy*/,
2202  "" /*format*/,
2203  -960 /*offsetCode (-14400/15)*/,
2204  0 /*offsetRemainder (-14400%15)*/,
2205  0 /*deltaMinutes*/,
2206  2000 /*untilYear*/,
2207  3 /*untilMonth*/,
2208  3 /*untilDay*/,
2209  0 /*untilTimeCode (0/15)*/,
2210  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2211  },
2212  // -3:00 Arg %z
2213  {
2214  &kZonePolicyArg /*zonePolicy*/,
2215  "" /*format*/,
2216  -720 /*offsetCode (-10800/15)*/,
2217  0 /*offsetRemainder (-10800%15)*/,
2218  0 /*deltaMinutes*/,
2219  32767 /*untilYear*/,
2220  1 /*untilMonth*/,
2221  1 /*untilDay*/,
2222  0 /*untilTimeCode (0/15)*/,
2223  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2224  },
2225 
2226 };
2227 
2228 static const char kZoneNameAmerica_Argentina_Buenos_Aires[] ACE_TIME_PROGMEM = "\x02" "\x04" "Buenos_Aires";
2229 
2230 const complete::ZoneInfo kZoneAmerica_Argentina_Buenos_Aires ACE_TIME_PROGMEM = {
2231  kZoneNameAmerica_Argentina_Buenos_Aires /*name*/,
2232  0xd43b4c0d /*zoneId*/,
2233  &kZoneContext /*zoneContext*/,
2234  7 /*numEras*/,
2235  kZoneEraAmerica_Argentina_Buenos_Aires /*eras*/,
2236  nullptr /*targetInfo*/,
2237 };
2238 
2239 //---------------------------------------------------------------------------
2240 // Zone name: America/Argentina/Catamarca
2241 // Eras: 12
2242 //---------------------------------------------------------------------------
2243 
2244 static const complete::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PROGMEM = {
2245  // -4:23:08 - LMT 1894 Oct 31
2246  {
2247  nullptr /*zonePolicy*/,
2248  "LMT" /*format*/,
2249  -1053 /*offsetCode (-15788/15)*/,
2250  7 /*offsetRemainder (-15788%15)*/,
2251  0 /*deltaMinutes*/,
2252  1894 /*untilYear*/,
2253  10 /*untilMonth*/,
2254  31 /*untilDay*/,
2255  0 /*untilTimeCode (0/15)*/,
2256  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2257  },
2258  // -4:16:48 - CMT 1920 May
2259  {
2260  nullptr /*zonePolicy*/,
2261  "CMT" /*format*/,
2262  -1028 /*offsetCode (-15408/15)*/,
2263  12 /*offsetRemainder (-15408%15)*/,
2264  0 /*deltaMinutes*/,
2265  1920 /*untilYear*/,
2266  5 /*untilMonth*/,
2267  1 /*untilDay*/,
2268  0 /*untilTimeCode (0/15)*/,
2269  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2270  },
2271  // -4:00 - %z 1930 Dec
2272  {
2273  nullptr /*zonePolicy*/,
2274  "" /*format*/,
2275  -960 /*offsetCode (-14400/15)*/,
2276  0 /*offsetRemainder (-14400%15)*/,
2277  0 /*deltaMinutes*/,
2278  1930 /*untilYear*/,
2279  12 /*untilMonth*/,
2280  1 /*untilDay*/,
2281  0 /*untilTimeCode (0/15)*/,
2282  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2283  },
2284  // -4:00 Arg %z 1969 Oct 5
2285  {
2286  &kZonePolicyArg /*zonePolicy*/,
2287  "" /*format*/,
2288  -960 /*offsetCode (-14400/15)*/,
2289  0 /*offsetRemainder (-14400%15)*/,
2290  0 /*deltaMinutes*/,
2291  1969 /*untilYear*/,
2292  10 /*untilMonth*/,
2293  5 /*untilDay*/,
2294  0 /*untilTimeCode (0/15)*/,
2295  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2296  },
2297  // -3:00 Arg %z 1991 Mar 3
2298  {
2299  &kZonePolicyArg /*zonePolicy*/,
2300  "" /*format*/,
2301  -720 /*offsetCode (-10800/15)*/,
2302  0 /*offsetRemainder (-10800%15)*/,
2303  0 /*deltaMinutes*/,
2304  1991 /*untilYear*/,
2305  3 /*untilMonth*/,
2306  3 /*untilDay*/,
2307  0 /*untilTimeCode (0/15)*/,
2308  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2309  },
2310  // -4:00 - %z 1991 Oct 20
2311  {
2312  nullptr /*zonePolicy*/,
2313  "" /*format*/,
2314  -960 /*offsetCode (-14400/15)*/,
2315  0 /*offsetRemainder (-14400%15)*/,
2316  0 /*deltaMinutes*/,
2317  1991 /*untilYear*/,
2318  10 /*untilMonth*/,
2319  20 /*untilDay*/,
2320  0 /*untilTimeCode (0/15)*/,
2321  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2322  },
2323  // -3:00 Arg %z 1999 Oct 3
2324  {
2325  &kZonePolicyArg /*zonePolicy*/,
2326  "" /*format*/,
2327  -720 /*offsetCode (-10800/15)*/,
2328  0 /*offsetRemainder (-10800%15)*/,
2329  0 /*deltaMinutes*/,
2330  1999 /*untilYear*/,
2331  10 /*untilMonth*/,
2332  3 /*untilDay*/,
2333  0 /*untilTimeCode (0/15)*/,
2334  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2335  },
2336  // -4:00 Arg %z 2000 Mar 3
2337  {
2338  &kZonePolicyArg /*zonePolicy*/,
2339  "" /*format*/,
2340  -960 /*offsetCode (-14400/15)*/,
2341  0 /*offsetRemainder (-14400%15)*/,
2342  0 /*deltaMinutes*/,
2343  2000 /*untilYear*/,
2344  3 /*untilMonth*/,
2345  3 /*untilDay*/,
2346  0 /*untilTimeCode (0/15)*/,
2347  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2348  },
2349  // -3:00 - %z 2004 Jun 1
2350  {
2351  nullptr /*zonePolicy*/,
2352  "" /*format*/,
2353  -720 /*offsetCode (-10800/15)*/,
2354  0 /*offsetRemainder (-10800%15)*/,
2355  0 /*deltaMinutes*/,
2356  2004 /*untilYear*/,
2357  6 /*untilMonth*/,
2358  1 /*untilDay*/,
2359  0 /*untilTimeCode (0/15)*/,
2360  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2361  },
2362  // -4:00 - %z 2004 Jun 20
2363  {
2364  nullptr /*zonePolicy*/,
2365  "" /*format*/,
2366  -960 /*offsetCode (-14400/15)*/,
2367  0 /*offsetRemainder (-14400%15)*/,
2368  0 /*deltaMinutes*/,
2369  2004 /*untilYear*/,
2370  6 /*untilMonth*/,
2371  20 /*untilDay*/,
2372  0 /*untilTimeCode (0/15)*/,
2373  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2374  },
2375  // -3:00 Arg %z 2008 Oct 18
2376  {
2377  &kZonePolicyArg /*zonePolicy*/,
2378  "" /*format*/,
2379  -720 /*offsetCode (-10800/15)*/,
2380  0 /*offsetRemainder (-10800%15)*/,
2381  0 /*deltaMinutes*/,
2382  2008 /*untilYear*/,
2383  10 /*untilMonth*/,
2384  18 /*untilDay*/,
2385  0 /*untilTimeCode (0/15)*/,
2386  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2387  },
2388  // -3:00 - %z
2389  {
2390  nullptr /*zonePolicy*/,
2391  "" /*format*/,
2392  -720 /*offsetCode (-10800/15)*/,
2393  0 /*offsetRemainder (-10800%15)*/,
2394  0 /*deltaMinutes*/,
2395  32767 /*untilYear*/,
2396  1 /*untilMonth*/,
2397  1 /*untilDay*/,
2398  0 /*untilTimeCode (0/15)*/,
2399  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2400  },
2401 
2402 };
2403 
2404 static const char kZoneNameAmerica_Argentina_Catamarca[] ACE_TIME_PROGMEM = "\x02" "\x04" "Catamarca";
2405 
2406 const complete::ZoneInfo kZoneAmerica_Argentina_Catamarca ACE_TIME_PROGMEM = {
2407  kZoneNameAmerica_Argentina_Catamarca /*name*/,
2408  0x8d40986b /*zoneId*/,
2409  &kZoneContext /*zoneContext*/,
2410  12 /*numEras*/,
2411  kZoneEraAmerica_Argentina_Catamarca /*eras*/,
2412  nullptr /*targetInfo*/,
2413 };
2414 
2415 //---------------------------------------------------------------------------
2416 // Zone name: America/Argentina/Cordoba
2417 // Eras: 9
2418 //---------------------------------------------------------------------------
2419 
2420 static const complete::ZoneEra kZoneEraAmerica_Argentina_Cordoba[] ACE_TIME_PROGMEM = {
2421  // -4:16:48 - LMT 1894 Oct 31
2422  {
2423  nullptr /*zonePolicy*/,
2424  "LMT" /*format*/,
2425  -1028 /*offsetCode (-15408/15)*/,
2426  12 /*offsetRemainder (-15408%15)*/,
2427  0 /*deltaMinutes*/,
2428  1894 /*untilYear*/,
2429  10 /*untilMonth*/,
2430  31 /*untilDay*/,
2431  0 /*untilTimeCode (0/15)*/,
2432  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2433  },
2434  // -4:16:48 - CMT 1920 May
2435  {
2436  nullptr /*zonePolicy*/,
2437  "CMT" /*format*/,
2438  -1028 /*offsetCode (-15408/15)*/,
2439  12 /*offsetRemainder (-15408%15)*/,
2440  0 /*deltaMinutes*/,
2441  1920 /*untilYear*/,
2442  5 /*untilMonth*/,
2443  1 /*untilDay*/,
2444  0 /*untilTimeCode (0/15)*/,
2445  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2446  },
2447  // -4:00 - %z 1930 Dec
2448  {
2449  nullptr /*zonePolicy*/,
2450  "" /*format*/,
2451  -960 /*offsetCode (-14400/15)*/,
2452  0 /*offsetRemainder (-14400%15)*/,
2453  0 /*deltaMinutes*/,
2454  1930 /*untilYear*/,
2455  12 /*untilMonth*/,
2456  1 /*untilDay*/,
2457  0 /*untilTimeCode (0/15)*/,
2458  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2459  },
2460  // -4:00 Arg %z 1969 Oct 5
2461  {
2462  &kZonePolicyArg /*zonePolicy*/,
2463  "" /*format*/,
2464  -960 /*offsetCode (-14400/15)*/,
2465  0 /*offsetRemainder (-14400%15)*/,
2466  0 /*deltaMinutes*/,
2467  1969 /*untilYear*/,
2468  10 /*untilMonth*/,
2469  5 /*untilDay*/,
2470  0 /*untilTimeCode (0/15)*/,
2471  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2472  },
2473  // -3:00 Arg %z 1991 Mar 3
2474  {
2475  &kZonePolicyArg /*zonePolicy*/,
2476  "" /*format*/,
2477  -720 /*offsetCode (-10800/15)*/,
2478  0 /*offsetRemainder (-10800%15)*/,
2479  0 /*deltaMinutes*/,
2480  1991 /*untilYear*/,
2481  3 /*untilMonth*/,
2482  3 /*untilDay*/,
2483  0 /*untilTimeCode (0/15)*/,
2484  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2485  },
2486  // -4:00 - %z 1991 Oct 20
2487  {
2488  nullptr /*zonePolicy*/,
2489  "" /*format*/,
2490  -960 /*offsetCode (-14400/15)*/,
2491  0 /*offsetRemainder (-14400%15)*/,
2492  0 /*deltaMinutes*/,
2493  1991 /*untilYear*/,
2494  10 /*untilMonth*/,
2495  20 /*untilDay*/,
2496  0 /*untilTimeCode (0/15)*/,
2497  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2498  },
2499  // -3:00 Arg %z 1999 Oct 3
2500  {
2501  &kZonePolicyArg /*zonePolicy*/,
2502  "" /*format*/,
2503  -720 /*offsetCode (-10800/15)*/,
2504  0 /*offsetRemainder (-10800%15)*/,
2505  0 /*deltaMinutes*/,
2506  1999 /*untilYear*/,
2507  10 /*untilMonth*/,
2508  3 /*untilDay*/,
2509  0 /*untilTimeCode (0/15)*/,
2510  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2511  },
2512  // -4:00 Arg %z 2000 Mar 3
2513  {
2514  &kZonePolicyArg /*zonePolicy*/,
2515  "" /*format*/,
2516  -960 /*offsetCode (-14400/15)*/,
2517  0 /*offsetRemainder (-14400%15)*/,
2518  0 /*deltaMinutes*/,
2519  2000 /*untilYear*/,
2520  3 /*untilMonth*/,
2521  3 /*untilDay*/,
2522  0 /*untilTimeCode (0/15)*/,
2523  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2524  },
2525  // -3:00 Arg %z
2526  {
2527  &kZonePolicyArg /*zonePolicy*/,
2528  "" /*format*/,
2529  -720 /*offsetCode (-10800/15)*/,
2530  0 /*offsetRemainder (-10800%15)*/,
2531  0 /*deltaMinutes*/,
2532  32767 /*untilYear*/,
2533  1 /*untilMonth*/,
2534  1 /*untilDay*/,
2535  0 /*untilTimeCode (0/15)*/,
2536  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2537  },
2538 
2539 };
2540 
2541 static const char kZoneNameAmerica_Argentina_Cordoba[] ACE_TIME_PROGMEM = "\x02" "\x04" "Cordoba";
2542 
2543 const complete::ZoneInfo kZoneAmerica_Argentina_Cordoba ACE_TIME_PROGMEM = {
2544  kZoneNameAmerica_Argentina_Cordoba /*name*/,
2545  0xbfccc308 /*zoneId*/,
2546  &kZoneContext /*zoneContext*/,
2547  9 /*numEras*/,
2548  kZoneEraAmerica_Argentina_Cordoba /*eras*/,
2549  nullptr /*targetInfo*/,
2550 };
2551 
2552 //---------------------------------------------------------------------------
2553 // Zone name: America/Argentina/Jujuy
2554 // Eras: 13
2555 //---------------------------------------------------------------------------
2556 
2557 static const complete::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGMEM = {
2558  // -4:21:12 - LMT 1894 Oct 31
2559  {
2560  nullptr /*zonePolicy*/,
2561  "LMT" /*format*/,
2562  -1045 /*offsetCode (-15672/15)*/,
2563  3 /*offsetRemainder (-15672%15)*/,
2564  0 /*deltaMinutes*/,
2565  1894 /*untilYear*/,
2566  10 /*untilMonth*/,
2567  31 /*untilDay*/,
2568  0 /*untilTimeCode (0/15)*/,
2569  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2570  },
2571  // -4:16:48 - CMT 1920 May
2572  {
2573  nullptr /*zonePolicy*/,
2574  "CMT" /*format*/,
2575  -1028 /*offsetCode (-15408/15)*/,
2576  12 /*offsetRemainder (-15408%15)*/,
2577  0 /*deltaMinutes*/,
2578  1920 /*untilYear*/,
2579  5 /*untilMonth*/,
2580  1 /*untilDay*/,
2581  0 /*untilTimeCode (0/15)*/,
2582  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2583  },
2584  // -4:00 - %z 1930 Dec
2585  {
2586  nullptr /*zonePolicy*/,
2587  "" /*format*/,
2588  -960 /*offsetCode (-14400/15)*/,
2589  0 /*offsetRemainder (-14400%15)*/,
2590  0 /*deltaMinutes*/,
2591  1930 /*untilYear*/,
2592  12 /*untilMonth*/,
2593  1 /*untilDay*/,
2594  0 /*untilTimeCode (0/15)*/,
2595  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2596  },
2597  // -4:00 Arg %z 1969 Oct 5
2598  {
2599  &kZonePolicyArg /*zonePolicy*/,
2600  "" /*format*/,
2601  -960 /*offsetCode (-14400/15)*/,
2602  0 /*offsetRemainder (-14400%15)*/,
2603  0 /*deltaMinutes*/,
2604  1969 /*untilYear*/,
2605  10 /*untilMonth*/,
2606  5 /*untilDay*/,
2607  0 /*untilTimeCode (0/15)*/,
2608  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2609  },
2610  // -3:00 Arg %z 1990 Mar 4
2611  {
2612  &kZonePolicyArg /*zonePolicy*/,
2613  "" /*format*/,
2614  -720 /*offsetCode (-10800/15)*/,
2615  0 /*offsetRemainder (-10800%15)*/,
2616  0 /*deltaMinutes*/,
2617  1990 /*untilYear*/,
2618  3 /*untilMonth*/,
2619  4 /*untilDay*/,
2620  0 /*untilTimeCode (0/15)*/,
2621  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2622  },
2623  // -4:00 - %z 1990 Oct 28
2624  {
2625  nullptr /*zonePolicy*/,
2626  "" /*format*/,
2627  -960 /*offsetCode (-14400/15)*/,
2628  0 /*offsetRemainder (-14400%15)*/,
2629  0 /*deltaMinutes*/,
2630  1990 /*untilYear*/,
2631  10 /*untilMonth*/,
2632  28 /*untilDay*/,
2633  0 /*untilTimeCode (0/15)*/,
2634  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2635  },
2636  // -4:00 1:00 %z 1991 Mar 17
2637  {
2638  nullptr /*zonePolicy*/,
2639  "" /*format*/,
2640  -960 /*offsetCode (-14400/15)*/,
2641  0 /*offsetRemainder (-14400%15)*/,
2642  60 /*deltaMinutes*/,
2643  1991 /*untilYear*/,
2644  3 /*untilMonth*/,
2645  17 /*untilDay*/,
2646  0 /*untilTimeCode (0/15)*/,
2647  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2648  },
2649  // -4:00 - %z 1991 Oct 6
2650  {
2651  nullptr /*zonePolicy*/,
2652  "" /*format*/,
2653  -960 /*offsetCode (-14400/15)*/,
2654  0 /*offsetRemainder (-14400%15)*/,
2655  0 /*deltaMinutes*/,
2656  1991 /*untilYear*/,
2657  10 /*untilMonth*/,
2658  6 /*untilDay*/,
2659  0 /*untilTimeCode (0/15)*/,
2660  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2661  },
2662  // -3:00 1:00 %z 1992
2663  {
2664  nullptr /*zonePolicy*/,
2665  "" /*format*/,
2666  -720 /*offsetCode (-10800/15)*/,
2667  0 /*offsetRemainder (-10800%15)*/,
2668  60 /*deltaMinutes*/,
2669  1992 /*untilYear*/,
2670  1 /*untilMonth*/,
2671  1 /*untilDay*/,
2672  0 /*untilTimeCode (0/15)*/,
2673  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2674  },
2675  // -3:00 Arg %z 1999 Oct 3
2676  {
2677  &kZonePolicyArg /*zonePolicy*/,
2678  "" /*format*/,
2679  -720 /*offsetCode (-10800/15)*/,
2680  0 /*offsetRemainder (-10800%15)*/,
2681  0 /*deltaMinutes*/,
2682  1999 /*untilYear*/,
2683  10 /*untilMonth*/,
2684  3 /*untilDay*/,
2685  0 /*untilTimeCode (0/15)*/,
2686  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2687  },
2688  // -4:00 Arg %z 2000 Mar 3
2689  {
2690  &kZonePolicyArg /*zonePolicy*/,
2691  "" /*format*/,
2692  -960 /*offsetCode (-14400/15)*/,
2693  0 /*offsetRemainder (-14400%15)*/,
2694  0 /*deltaMinutes*/,
2695  2000 /*untilYear*/,
2696  3 /*untilMonth*/,
2697  3 /*untilDay*/,
2698  0 /*untilTimeCode (0/15)*/,
2699  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2700  },
2701  // -3:00 Arg %z 2008 Oct 18
2702  {
2703  &kZonePolicyArg /*zonePolicy*/,
2704  "" /*format*/,
2705  -720 /*offsetCode (-10800/15)*/,
2706  0 /*offsetRemainder (-10800%15)*/,
2707  0 /*deltaMinutes*/,
2708  2008 /*untilYear*/,
2709  10 /*untilMonth*/,
2710  18 /*untilDay*/,
2711  0 /*untilTimeCode (0/15)*/,
2712  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2713  },
2714  // -3:00 - %z
2715  {
2716  nullptr /*zonePolicy*/,
2717  "" /*format*/,
2718  -720 /*offsetCode (-10800/15)*/,
2719  0 /*offsetRemainder (-10800%15)*/,
2720  0 /*deltaMinutes*/,
2721  32767 /*untilYear*/,
2722  1 /*untilMonth*/,
2723  1 /*untilDay*/,
2724  0 /*untilTimeCode (0/15)*/,
2725  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2726  },
2727 
2728 };
2729 
2730 static const char kZoneNameAmerica_Argentina_Jujuy[] ACE_TIME_PROGMEM = "\x02" "\x04" "Jujuy";
2731 
2732 const complete::ZoneInfo kZoneAmerica_Argentina_Jujuy ACE_TIME_PROGMEM = {
2733  kZoneNameAmerica_Argentina_Jujuy /*name*/,
2734  0x5f2f46c5 /*zoneId*/,
2735  &kZoneContext /*zoneContext*/,
2736  13 /*numEras*/,
2737  kZoneEraAmerica_Argentina_Jujuy /*eras*/,
2738  nullptr /*targetInfo*/,
2739 };
2740 
2741 //---------------------------------------------------------------------------
2742 // Zone name: America/Argentina/La_Rioja
2743 // Eras: 12
2744 //---------------------------------------------------------------------------
2745 
2746 static const complete::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PROGMEM = {
2747  // -4:27:24 - LMT 1894 Oct 31
2748  {
2749  nullptr /*zonePolicy*/,
2750  "LMT" /*format*/,
2751  -1070 /*offsetCode (-16044/15)*/,
2752  6 /*offsetRemainder (-16044%15)*/,
2753  0 /*deltaMinutes*/,
2754  1894 /*untilYear*/,
2755  10 /*untilMonth*/,
2756  31 /*untilDay*/,
2757  0 /*untilTimeCode (0/15)*/,
2758  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2759  },
2760  // -4:16:48 - CMT 1920 May
2761  {
2762  nullptr /*zonePolicy*/,
2763  "CMT" /*format*/,
2764  -1028 /*offsetCode (-15408/15)*/,
2765  12 /*offsetRemainder (-15408%15)*/,
2766  0 /*deltaMinutes*/,
2767  1920 /*untilYear*/,
2768  5 /*untilMonth*/,
2769  1 /*untilDay*/,
2770  0 /*untilTimeCode (0/15)*/,
2771  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2772  },
2773  // -4:00 - %z 1930 Dec
2774  {
2775  nullptr /*zonePolicy*/,
2776  "" /*format*/,
2777  -960 /*offsetCode (-14400/15)*/,
2778  0 /*offsetRemainder (-14400%15)*/,
2779  0 /*deltaMinutes*/,
2780  1930 /*untilYear*/,
2781  12 /*untilMonth*/,
2782  1 /*untilDay*/,
2783  0 /*untilTimeCode (0/15)*/,
2784  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2785  },
2786  // -4:00 Arg %z 1969 Oct 5
2787  {
2788  &kZonePolicyArg /*zonePolicy*/,
2789  "" /*format*/,
2790  -960 /*offsetCode (-14400/15)*/,
2791  0 /*offsetRemainder (-14400%15)*/,
2792  0 /*deltaMinutes*/,
2793  1969 /*untilYear*/,
2794  10 /*untilMonth*/,
2795  5 /*untilDay*/,
2796  0 /*untilTimeCode (0/15)*/,
2797  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2798  },
2799  // -3:00 Arg %z 1991 Mar 1
2800  {
2801  &kZonePolicyArg /*zonePolicy*/,
2802  "" /*format*/,
2803  -720 /*offsetCode (-10800/15)*/,
2804  0 /*offsetRemainder (-10800%15)*/,
2805  0 /*deltaMinutes*/,
2806  1991 /*untilYear*/,
2807  3 /*untilMonth*/,
2808  1 /*untilDay*/,
2809  0 /*untilTimeCode (0/15)*/,
2810  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2811  },
2812  // -4:00 - %z 1991 May 7
2813  {
2814  nullptr /*zonePolicy*/,
2815  "" /*format*/,
2816  -960 /*offsetCode (-14400/15)*/,
2817  0 /*offsetRemainder (-14400%15)*/,
2818  0 /*deltaMinutes*/,
2819  1991 /*untilYear*/,
2820  5 /*untilMonth*/,
2821  7 /*untilDay*/,
2822  0 /*untilTimeCode (0/15)*/,
2823  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2824  },
2825  // -3:00 Arg %z 1999 Oct 3
2826  {
2827  &kZonePolicyArg /*zonePolicy*/,
2828  "" /*format*/,
2829  -720 /*offsetCode (-10800/15)*/,
2830  0 /*offsetRemainder (-10800%15)*/,
2831  0 /*deltaMinutes*/,
2832  1999 /*untilYear*/,
2833  10 /*untilMonth*/,
2834  3 /*untilDay*/,
2835  0 /*untilTimeCode (0/15)*/,
2836  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2837  },
2838  // -4:00 Arg %z 2000 Mar 3
2839  {
2840  &kZonePolicyArg /*zonePolicy*/,
2841  "" /*format*/,
2842  -960 /*offsetCode (-14400/15)*/,
2843  0 /*offsetRemainder (-14400%15)*/,
2844  0 /*deltaMinutes*/,
2845  2000 /*untilYear*/,
2846  3 /*untilMonth*/,
2847  3 /*untilDay*/,
2848  0 /*untilTimeCode (0/15)*/,
2849  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2850  },
2851  // -3:00 - %z 2004 Jun 1
2852  {
2853  nullptr /*zonePolicy*/,
2854  "" /*format*/,
2855  -720 /*offsetCode (-10800/15)*/,
2856  0 /*offsetRemainder (-10800%15)*/,
2857  0 /*deltaMinutes*/,
2858  2004 /*untilYear*/,
2859  6 /*untilMonth*/,
2860  1 /*untilDay*/,
2861  0 /*untilTimeCode (0/15)*/,
2862  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2863  },
2864  // -4:00 - %z 2004 Jun 20
2865  {
2866  nullptr /*zonePolicy*/,
2867  "" /*format*/,
2868  -960 /*offsetCode (-14400/15)*/,
2869  0 /*offsetRemainder (-14400%15)*/,
2870  0 /*deltaMinutes*/,
2871  2004 /*untilYear*/,
2872  6 /*untilMonth*/,
2873  20 /*untilDay*/,
2874  0 /*untilTimeCode (0/15)*/,
2875  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2876  },
2877  // -3:00 Arg %z 2008 Oct 18
2878  {
2879  &kZonePolicyArg /*zonePolicy*/,
2880  "" /*format*/,
2881  -720 /*offsetCode (-10800/15)*/,
2882  0 /*offsetRemainder (-10800%15)*/,
2883  0 /*deltaMinutes*/,
2884  2008 /*untilYear*/,
2885  10 /*untilMonth*/,
2886  18 /*untilDay*/,
2887  0 /*untilTimeCode (0/15)*/,
2888  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2889  },
2890  // -3:00 - %z
2891  {
2892  nullptr /*zonePolicy*/,
2893  "" /*format*/,
2894  -720 /*offsetCode (-10800/15)*/,
2895  0 /*offsetRemainder (-10800%15)*/,
2896  0 /*deltaMinutes*/,
2897  32767 /*untilYear*/,
2898  1 /*untilMonth*/,
2899  1 /*untilDay*/,
2900  0 /*untilTimeCode (0/15)*/,
2901  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2902  },
2903 
2904 };
2905 
2906 static const char kZoneNameAmerica_Argentina_La_Rioja[] ACE_TIME_PROGMEM = "\x02" "\x04" "La_Rioja";
2907 
2908 const complete::ZoneInfo kZoneAmerica_Argentina_La_Rioja ACE_TIME_PROGMEM = {
2909  kZoneNameAmerica_Argentina_La_Rioja /*name*/,
2910  0xa46b7eef /*zoneId*/,
2911  &kZoneContext /*zoneContext*/,
2912  12 /*numEras*/,
2913  kZoneEraAmerica_Argentina_La_Rioja /*eras*/,
2914  nullptr /*targetInfo*/,
2915 };
2916 
2917 //---------------------------------------------------------------------------
2918 // Zone name: America/Argentina/Mendoza
2919 // Eras: 16
2920 //---------------------------------------------------------------------------
2921 
2922 static const complete::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROGMEM = {
2923  // -4:35:16 - LMT 1894 Oct 31
2924  {
2925  nullptr /*zonePolicy*/,
2926  "LMT" /*format*/,
2927  -1102 /*offsetCode (-16516/15)*/,
2928  14 /*offsetRemainder (-16516%15)*/,
2929  0 /*deltaMinutes*/,
2930  1894 /*untilYear*/,
2931  10 /*untilMonth*/,
2932  31 /*untilDay*/,
2933  0 /*untilTimeCode (0/15)*/,
2934  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2935  },
2936  // -4:16:48 - CMT 1920 May
2937  {
2938  nullptr /*zonePolicy*/,
2939  "CMT" /*format*/,
2940  -1028 /*offsetCode (-15408/15)*/,
2941  12 /*offsetRemainder (-15408%15)*/,
2942  0 /*deltaMinutes*/,
2943  1920 /*untilYear*/,
2944  5 /*untilMonth*/,
2945  1 /*untilDay*/,
2946  0 /*untilTimeCode (0/15)*/,
2947  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2948  },
2949  // -4:00 - %z 1930 Dec
2950  {
2951  nullptr /*zonePolicy*/,
2952  "" /*format*/,
2953  -960 /*offsetCode (-14400/15)*/,
2954  0 /*offsetRemainder (-14400%15)*/,
2955  0 /*deltaMinutes*/,
2956  1930 /*untilYear*/,
2957  12 /*untilMonth*/,
2958  1 /*untilDay*/,
2959  0 /*untilTimeCode (0/15)*/,
2960  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2961  },
2962  // -4:00 Arg %z 1969 Oct 5
2963  {
2964  &kZonePolicyArg /*zonePolicy*/,
2965  "" /*format*/,
2966  -960 /*offsetCode (-14400/15)*/,
2967  0 /*offsetRemainder (-14400%15)*/,
2968  0 /*deltaMinutes*/,
2969  1969 /*untilYear*/,
2970  10 /*untilMonth*/,
2971  5 /*untilDay*/,
2972  0 /*untilTimeCode (0/15)*/,
2973  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2974  },
2975  // -3:00 Arg %z 1990 Mar 4
2976  {
2977  &kZonePolicyArg /*zonePolicy*/,
2978  "" /*format*/,
2979  -720 /*offsetCode (-10800/15)*/,
2980  0 /*offsetRemainder (-10800%15)*/,
2981  0 /*deltaMinutes*/,
2982  1990 /*untilYear*/,
2983  3 /*untilMonth*/,
2984  4 /*untilDay*/,
2985  0 /*untilTimeCode (0/15)*/,
2986  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
2987  },
2988  // -4:00 - %z 1990 Oct 15
2989  {
2990  nullptr /*zonePolicy*/,
2991  "" /*format*/,
2992  -960 /*offsetCode (-14400/15)*/,
2993  0 /*offsetRemainder (-14400%15)*/,
2994  0 /*deltaMinutes*/,
2995  1990 /*untilYear*/,
2996  10 /*untilMonth*/,
2997  15 /*untilDay*/,
2998  0 /*untilTimeCode (0/15)*/,
2999  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3000  },
3001  // -4:00 1:00 %z 1991 Mar 1
3002  {
3003  nullptr /*zonePolicy*/,
3004  "" /*format*/,
3005  -960 /*offsetCode (-14400/15)*/,
3006  0 /*offsetRemainder (-14400%15)*/,
3007  60 /*deltaMinutes*/,
3008  1991 /*untilYear*/,
3009  3 /*untilMonth*/,
3010  1 /*untilDay*/,
3011  0 /*untilTimeCode (0/15)*/,
3012  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3013  },
3014  // -4:00 - %z 1991 Oct 15
3015  {
3016  nullptr /*zonePolicy*/,
3017  "" /*format*/,
3018  -960 /*offsetCode (-14400/15)*/,
3019  0 /*offsetRemainder (-14400%15)*/,
3020  0 /*deltaMinutes*/,
3021  1991 /*untilYear*/,
3022  10 /*untilMonth*/,
3023  15 /*untilDay*/,
3024  0 /*untilTimeCode (0/15)*/,
3025  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3026  },
3027  // -4:00 1:00 %z 1992 Mar 1
3028  {
3029  nullptr /*zonePolicy*/,
3030  "" /*format*/,
3031  -960 /*offsetCode (-14400/15)*/,
3032  0 /*offsetRemainder (-14400%15)*/,
3033  60 /*deltaMinutes*/,
3034  1992 /*untilYear*/,
3035  3 /*untilMonth*/,
3036  1 /*untilDay*/,
3037  0 /*untilTimeCode (0/15)*/,
3038  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3039  },
3040  // -4:00 - %z 1992 Oct 18
3041  {
3042  nullptr /*zonePolicy*/,
3043  "" /*format*/,
3044  -960 /*offsetCode (-14400/15)*/,
3045  0 /*offsetRemainder (-14400%15)*/,
3046  0 /*deltaMinutes*/,
3047  1992 /*untilYear*/,
3048  10 /*untilMonth*/,
3049  18 /*untilDay*/,
3050  0 /*untilTimeCode (0/15)*/,
3051  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3052  },
3053  // -3:00 Arg %z 1999 Oct 3
3054  {
3055  &kZonePolicyArg /*zonePolicy*/,
3056  "" /*format*/,
3057  -720 /*offsetCode (-10800/15)*/,
3058  0 /*offsetRemainder (-10800%15)*/,
3059  0 /*deltaMinutes*/,
3060  1999 /*untilYear*/,
3061  10 /*untilMonth*/,
3062  3 /*untilDay*/,
3063  0 /*untilTimeCode (0/15)*/,
3064  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3065  },
3066  // -4:00 Arg %z 2000 Mar 3
3067  {
3068  &kZonePolicyArg /*zonePolicy*/,
3069  "" /*format*/,
3070  -960 /*offsetCode (-14400/15)*/,
3071  0 /*offsetRemainder (-14400%15)*/,
3072  0 /*deltaMinutes*/,
3073  2000 /*untilYear*/,
3074  3 /*untilMonth*/,
3075  3 /*untilDay*/,
3076  0 /*untilTimeCode (0/15)*/,
3077  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3078  },
3079  // -3:00 - %z 2004 May 23
3080  {
3081  nullptr /*zonePolicy*/,
3082  "" /*format*/,
3083  -720 /*offsetCode (-10800/15)*/,
3084  0 /*offsetRemainder (-10800%15)*/,
3085  0 /*deltaMinutes*/,
3086  2004 /*untilYear*/,
3087  5 /*untilMonth*/,
3088  23 /*untilDay*/,
3089  0 /*untilTimeCode (0/15)*/,
3090  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3091  },
3092  // -4:00 - %z 2004 Sep 26
3093  {
3094  nullptr /*zonePolicy*/,
3095  "" /*format*/,
3096  -960 /*offsetCode (-14400/15)*/,
3097  0 /*offsetRemainder (-14400%15)*/,
3098  0 /*deltaMinutes*/,
3099  2004 /*untilYear*/,
3100  9 /*untilMonth*/,
3101  26 /*untilDay*/,
3102  0 /*untilTimeCode (0/15)*/,
3103  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3104  },
3105  // -3:00 Arg %z 2008 Oct 18
3106  {
3107  &kZonePolicyArg /*zonePolicy*/,
3108  "" /*format*/,
3109  -720 /*offsetCode (-10800/15)*/,
3110  0 /*offsetRemainder (-10800%15)*/,
3111  0 /*deltaMinutes*/,
3112  2008 /*untilYear*/,
3113  10 /*untilMonth*/,
3114  18 /*untilDay*/,
3115  0 /*untilTimeCode (0/15)*/,
3116  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3117  },
3118  // -3:00 - %z
3119  {
3120  nullptr /*zonePolicy*/,
3121  "" /*format*/,
3122  -720 /*offsetCode (-10800/15)*/,
3123  0 /*offsetRemainder (-10800%15)*/,
3124  0 /*deltaMinutes*/,
3125  32767 /*untilYear*/,
3126  1 /*untilMonth*/,
3127  1 /*untilDay*/,
3128  0 /*untilTimeCode (0/15)*/,
3129  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3130  },
3131 
3132 };
3133 
3134 static const char kZoneNameAmerica_Argentina_Mendoza[] ACE_TIME_PROGMEM = "\x02" "\x04" "Mendoza";
3135 
3136 const complete::ZoneInfo kZoneAmerica_Argentina_Mendoza ACE_TIME_PROGMEM = {
3137  kZoneNameAmerica_Argentina_Mendoza /*name*/,
3138  0xa9f72d5c /*zoneId*/,
3139  &kZoneContext /*zoneContext*/,
3140  16 /*numEras*/,
3141  kZoneEraAmerica_Argentina_Mendoza /*eras*/,
3142  nullptr /*targetInfo*/,
3143 };
3144 
3145 //---------------------------------------------------------------------------
3146 // Zone name: America/Argentina/Rio_Gallegos
3147 // Eras: 10
3148 //---------------------------------------------------------------------------
3149 
3150 static const complete::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME_PROGMEM = {
3151  // -4:36:52 - LMT 1894 Oct 31
3152  {
3153  nullptr /*zonePolicy*/,
3154  "LMT" /*format*/,
3155  -1108 /*offsetCode (-16612/15)*/,
3156  8 /*offsetRemainder (-16612%15)*/,
3157  0 /*deltaMinutes*/,
3158  1894 /*untilYear*/,
3159  10 /*untilMonth*/,
3160  31 /*untilDay*/,
3161  0 /*untilTimeCode (0/15)*/,
3162  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3163  },
3164  // -4:16:48 - CMT 1920 May
3165  {
3166  nullptr /*zonePolicy*/,
3167  "CMT" /*format*/,
3168  -1028 /*offsetCode (-15408/15)*/,
3169  12 /*offsetRemainder (-15408%15)*/,
3170  0 /*deltaMinutes*/,
3171  1920 /*untilYear*/,
3172  5 /*untilMonth*/,
3173  1 /*untilDay*/,
3174  0 /*untilTimeCode (0/15)*/,
3175  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3176  },
3177  // -4:00 - %z 1930 Dec
3178  {
3179  nullptr /*zonePolicy*/,
3180  "" /*format*/,
3181  -960 /*offsetCode (-14400/15)*/,
3182  0 /*offsetRemainder (-14400%15)*/,
3183  0 /*deltaMinutes*/,
3184  1930 /*untilYear*/,
3185  12 /*untilMonth*/,
3186  1 /*untilDay*/,
3187  0 /*untilTimeCode (0/15)*/,
3188  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3189  },
3190  // -4:00 Arg %z 1969 Oct 5
3191  {
3192  &kZonePolicyArg /*zonePolicy*/,
3193  "" /*format*/,
3194  -960 /*offsetCode (-14400/15)*/,
3195  0 /*offsetRemainder (-14400%15)*/,
3196  0 /*deltaMinutes*/,
3197  1969 /*untilYear*/,
3198  10 /*untilMonth*/,
3199  5 /*untilDay*/,
3200  0 /*untilTimeCode (0/15)*/,
3201  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3202  },
3203  // -3:00 Arg %z 1999 Oct 3
3204  {
3205  &kZonePolicyArg /*zonePolicy*/,
3206  "" /*format*/,
3207  -720 /*offsetCode (-10800/15)*/,
3208  0 /*offsetRemainder (-10800%15)*/,
3209  0 /*deltaMinutes*/,
3210  1999 /*untilYear*/,
3211  10 /*untilMonth*/,
3212  3 /*untilDay*/,
3213  0 /*untilTimeCode (0/15)*/,
3214  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3215  },
3216  // -4:00 Arg %z 2000 Mar 3
3217  {
3218  &kZonePolicyArg /*zonePolicy*/,
3219  "" /*format*/,
3220  -960 /*offsetCode (-14400/15)*/,
3221  0 /*offsetRemainder (-14400%15)*/,
3222  0 /*deltaMinutes*/,
3223  2000 /*untilYear*/,
3224  3 /*untilMonth*/,
3225  3 /*untilDay*/,
3226  0 /*untilTimeCode (0/15)*/,
3227  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3228  },
3229  // -3:00 - %z 2004 Jun 1
3230  {
3231  nullptr /*zonePolicy*/,
3232  "" /*format*/,
3233  -720 /*offsetCode (-10800/15)*/,
3234  0 /*offsetRemainder (-10800%15)*/,
3235  0 /*deltaMinutes*/,
3236  2004 /*untilYear*/,
3237  6 /*untilMonth*/,
3238  1 /*untilDay*/,
3239  0 /*untilTimeCode (0/15)*/,
3240  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3241  },
3242  // -4:00 - %z 2004 Jun 20
3243  {
3244  nullptr /*zonePolicy*/,
3245  "" /*format*/,
3246  -960 /*offsetCode (-14400/15)*/,
3247  0 /*offsetRemainder (-14400%15)*/,
3248  0 /*deltaMinutes*/,
3249  2004 /*untilYear*/,
3250  6 /*untilMonth*/,
3251  20 /*untilDay*/,
3252  0 /*untilTimeCode (0/15)*/,
3253  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3254  },
3255  // -3:00 Arg %z 2008 Oct 18
3256  {
3257  &kZonePolicyArg /*zonePolicy*/,
3258  "" /*format*/,
3259  -720 /*offsetCode (-10800/15)*/,
3260  0 /*offsetRemainder (-10800%15)*/,
3261  0 /*deltaMinutes*/,
3262  2008 /*untilYear*/,
3263  10 /*untilMonth*/,
3264  18 /*untilDay*/,
3265  0 /*untilTimeCode (0/15)*/,
3266  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3267  },
3268  // -3:00 - %z
3269  {
3270  nullptr /*zonePolicy*/,
3271  "" /*format*/,
3272  -720 /*offsetCode (-10800/15)*/,
3273  0 /*offsetRemainder (-10800%15)*/,
3274  0 /*deltaMinutes*/,
3275  32767 /*untilYear*/,
3276  1 /*untilMonth*/,
3277  1 /*untilDay*/,
3278  0 /*untilTimeCode (0/15)*/,
3279  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3280  },
3281 
3282 };
3283 
3284 static const char kZoneNameAmerica_Argentina_Rio_Gallegos[] ACE_TIME_PROGMEM = "\x02" "\x04" "Rio_Gallegos";
3285 
3286 const complete::ZoneInfo kZoneAmerica_Argentina_Rio_Gallegos ACE_TIME_PROGMEM = {
3287  kZoneNameAmerica_Argentina_Rio_Gallegos /*name*/,
3288  0xc5b0f565 /*zoneId*/,
3289  &kZoneContext /*zoneContext*/,
3290  10 /*numEras*/,
3291  kZoneEraAmerica_Argentina_Rio_Gallegos /*eras*/,
3292  nullptr /*targetInfo*/,
3293 };
3294 
3295 //---------------------------------------------------------------------------
3296 // Zone name: America/Argentina/Salta
3297 // Eras: 10
3298 //---------------------------------------------------------------------------
3299 
3300 static const complete::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGMEM = {
3301  // -4:21:40 - LMT 1894 Oct 31
3302  {
3303  nullptr /*zonePolicy*/,
3304  "LMT" /*format*/,
3305  -1047 /*offsetCode (-15700/15)*/,
3306  5 /*offsetRemainder (-15700%15)*/,
3307  0 /*deltaMinutes*/,
3308  1894 /*untilYear*/,
3309  10 /*untilMonth*/,
3310  31 /*untilDay*/,
3311  0 /*untilTimeCode (0/15)*/,
3312  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3313  },
3314  // -4:16:48 - CMT 1920 May
3315  {
3316  nullptr /*zonePolicy*/,
3317  "CMT" /*format*/,
3318  -1028 /*offsetCode (-15408/15)*/,
3319  12 /*offsetRemainder (-15408%15)*/,
3320  0 /*deltaMinutes*/,
3321  1920 /*untilYear*/,
3322  5 /*untilMonth*/,
3323  1 /*untilDay*/,
3324  0 /*untilTimeCode (0/15)*/,
3325  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3326  },
3327  // -4:00 - %z 1930 Dec
3328  {
3329  nullptr /*zonePolicy*/,
3330  "" /*format*/,
3331  -960 /*offsetCode (-14400/15)*/,
3332  0 /*offsetRemainder (-14400%15)*/,
3333  0 /*deltaMinutes*/,
3334  1930 /*untilYear*/,
3335  12 /*untilMonth*/,
3336  1 /*untilDay*/,
3337  0 /*untilTimeCode (0/15)*/,
3338  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3339  },
3340  // -4:00 Arg %z 1969 Oct 5
3341  {
3342  &kZonePolicyArg /*zonePolicy*/,
3343  "" /*format*/,
3344  -960 /*offsetCode (-14400/15)*/,
3345  0 /*offsetRemainder (-14400%15)*/,
3346  0 /*deltaMinutes*/,
3347  1969 /*untilYear*/,
3348  10 /*untilMonth*/,
3349  5 /*untilDay*/,
3350  0 /*untilTimeCode (0/15)*/,
3351  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3352  },
3353  // -3:00 Arg %z 1991 Mar 3
3354  {
3355  &kZonePolicyArg /*zonePolicy*/,
3356  "" /*format*/,
3357  -720 /*offsetCode (-10800/15)*/,
3358  0 /*offsetRemainder (-10800%15)*/,
3359  0 /*deltaMinutes*/,
3360  1991 /*untilYear*/,
3361  3 /*untilMonth*/,
3362  3 /*untilDay*/,
3363  0 /*untilTimeCode (0/15)*/,
3364  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3365  },
3366  // -4:00 - %z 1991 Oct 20
3367  {
3368  nullptr /*zonePolicy*/,
3369  "" /*format*/,
3370  -960 /*offsetCode (-14400/15)*/,
3371  0 /*offsetRemainder (-14400%15)*/,
3372  0 /*deltaMinutes*/,
3373  1991 /*untilYear*/,
3374  10 /*untilMonth*/,
3375  20 /*untilDay*/,
3376  0 /*untilTimeCode (0/15)*/,
3377  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3378  },
3379  // -3:00 Arg %z 1999 Oct 3
3380  {
3381  &kZonePolicyArg /*zonePolicy*/,
3382  "" /*format*/,
3383  -720 /*offsetCode (-10800/15)*/,
3384  0 /*offsetRemainder (-10800%15)*/,
3385  0 /*deltaMinutes*/,
3386  1999 /*untilYear*/,
3387  10 /*untilMonth*/,
3388  3 /*untilDay*/,
3389  0 /*untilTimeCode (0/15)*/,
3390  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3391  },
3392  // -4:00 Arg %z 2000 Mar 3
3393  {
3394  &kZonePolicyArg /*zonePolicy*/,
3395  "" /*format*/,
3396  -960 /*offsetCode (-14400/15)*/,
3397  0 /*offsetRemainder (-14400%15)*/,
3398  0 /*deltaMinutes*/,
3399  2000 /*untilYear*/,
3400  3 /*untilMonth*/,
3401  3 /*untilDay*/,
3402  0 /*untilTimeCode (0/15)*/,
3403  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3404  },
3405  // -3:00 Arg %z 2008 Oct 18
3406  {
3407  &kZonePolicyArg /*zonePolicy*/,
3408  "" /*format*/,
3409  -720 /*offsetCode (-10800/15)*/,
3410  0 /*offsetRemainder (-10800%15)*/,
3411  0 /*deltaMinutes*/,
3412  2008 /*untilYear*/,
3413  10 /*untilMonth*/,
3414  18 /*untilDay*/,
3415  0 /*untilTimeCode (0/15)*/,
3416  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3417  },
3418  // -3:00 - %z
3419  {
3420  nullptr /*zonePolicy*/,
3421  "" /*format*/,
3422  -720 /*offsetCode (-10800/15)*/,
3423  0 /*offsetRemainder (-10800%15)*/,
3424  0 /*deltaMinutes*/,
3425  32767 /*untilYear*/,
3426  1 /*untilMonth*/,
3427  1 /*untilDay*/,
3428  0 /*untilTimeCode (0/15)*/,
3429  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3430  },
3431 
3432 };
3433 
3434 static const char kZoneNameAmerica_Argentina_Salta[] ACE_TIME_PROGMEM = "\x02" "\x04" "Salta";
3435 
3436 const complete::ZoneInfo kZoneAmerica_Argentina_Salta ACE_TIME_PROGMEM = {
3437  kZoneNameAmerica_Argentina_Salta /*name*/,
3438  0x5fc73403 /*zoneId*/,
3439  &kZoneContext /*zoneContext*/,
3440  10 /*numEras*/,
3441  kZoneEraAmerica_Argentina_Salta /*eras*/,
3442  nullptr /*targetInfo*/,
3443 };
3444 
3445 //---------------------------------------------------------------------------
3446 // Zone name: America/Argentina/San_Juan
3447 // Eras: 12
3448 //---------------------------------------------------------------------------
3449 
3450 static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PROGMEM = {
3451  // -4:34:04 - LMT 1894 Oct 31
3452  {
3453  nullptr /*zonePolicy*/,
3454  "LMT" /*format*/,
3455  -1097 /*offsetCode (-16444/15)*/,
3456  11 /*offsetRemainder (-16444%15)*/,
3457  0 /*deltaMinutes*/,
3458  1894 /*untilYear*/,
3459  10 /*untilMonth*/,
3460  31 /*untilDay*/,
3461  0 /*untilTimeCode (0/15)*/,
3462  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3463  },
3464  // -4:16:48 - CMT 1920 May
3465  {
3466  nullptr /*zonePolicy*/,
3467  "CMT" /*format*/,
3468  -1028 /*offsetCode (-15408/15)*/,
3469  12 /*offsetRemainder (-15408%15)*/,
3470  0 /*deltaMinutes*/,
3471  1920 /*untilYear*/,
3472  5 /*untilMonth*/,
3473  1 /*untilDay*/,
3474  0 /*untilTimeCode (0/15)*/,
3475  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3476  },
3477  // -4:00 - %z 1930 Dec
3478  {
3479  nullptr /*zonePolicy*/,
3480  "" /*format*/,
3481  -960 /*offsetCode (-14400/15)*/,
3482  0 /*offsetRemainder (-14400%15)*/,
3483  0 /*deltaMinutes*/,
3484  1930 /*untilYear*/,
3485  12 /*untilMonth*/,
3486  1 /*untilDay*/,
3487  0 /*untilTimeCode (0/15)*/,
3488  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3489  },
3490  // -4:00 Arg %z 1969 Oct 5
3491  {
3492  &kZonePolicyArg /*zonePolicy*/,
3493  "" /*format*/,
3494  -960 /*offsetCode (-14400/15)*/,
3495  0 /*offsetRemainder (-14400%15)*/,
3496  0 /*deltaMinutes*/,
3497  1969 /*untilYear*/,
3498  10 /*untilMonth*/,
3499  5 /*untilDay*/,
3500  0 /*untilTimeCode (0/15)*/,
3501  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3502  },
3503  // -3:00 Arg %z 1991 Mar 1
3504  {
3505  &kZonePolicyArg /*zonePolicy*/,
3506  "" /*format*/,
3507  -720 /*offsetCode (-10800/15)*/,
3508  0 /*offsetRemainder (-10800%15)*/,
3509  0 /*deltaMinutes*/,
3510  1991 /*untilYear*/,
3511  3 /*untilMonth*/,
3512  1 /*untilDay*/,
3513  0 /*untilTimeCode (0/15)*/,
3514  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3515  },
3516  // -4:00 - %z 1991 May 7
3517  {
3518  nullptr /*zonePolicy*/,
3519  "" /*format*/,
3520  -960 /*offsetCode (-14400/15)*/,
3521  0 /*offsetRemainder (-14400%15)*/,
3522  0 /*deltaMinutes*/,
3523  1991 /*untilYear*/,
3524  5 /*untilMonth*/,
3525  7 /*untilDay*/,
3526  0 /*untilTimeCode (0/15)*/,
3527  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3528  },
3529  // -3:00 Arg %z 1999 Oct 3
3530  {
3531  &kZonePolicyArg /*zonePolicy*/,
3532  "" /*format*/,
3533  -720 /*offsetCode (-10800/15)*/,
3534  0 /*offsetRemainder (-10800%15)*/,
3535  0 /*deltaMinutes*/,
3536  1999 /*untilYear*/,
3537  10 /*untilMonth*/,
3538  3 /*untilDay*/,
3539  0 /*untilTimeCode (0/15)*/,
3540  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3541  },
3542  // -4:00 Arg %z 2000 Mar 3
3543  {
3544  &kZonePolicyArg /*zonePolicy*/,
3545  "" /*format*/,
3546  -960 /*offsetCode (-14400/15)*/,
3547  0 /*offsetRemainder (-14400%15)*/,
3548  0 /*deltaMinutes*/,
3549  2000 /*untilYear*/,
3550  3 /*untilMonth*/,
3551  3 /*untilDay*/,
3552  0 /*untilTimeCode (0/15)*/,
3553  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3554  },
3555  // -3:00 - %z 2004 May 31
3556  {
3557  nullptr /*zonePolicy*/,
3558  "" /*format*/,
3559  -720 /*offsetCode (-10800/15)*/,
3560  0 /*offsetRemainder (-10800%15)*/,
3561  0 /*deltaMinutes*/,
3562  2004 /*untilYear*/,
3563  5 /*untilMonth*/,
3564  31 /*untilDay*/,
3565  0 /*untilTimeCode (0/15)*/,
3566  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3567  },
3568  // -4:00 - %z 2004 Jul 25
3569  {
3570  nullptr /*zonePolicy*/,
3571  "" /*format*/,
3572  -960 /*offsetCode (-14400/15)*/,
3573  0 /*offsetRemainder (-14400%15)*/,
3574  0 /*deltaMinutes*/,
3575  2004 /*untilYear*/,
3576  7 /*untilMonth*/,
3577  25 /*untilDay*/,
3578  0 /*untilTimeCode (0/15)*/,
3579  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3580  },
3581  // -3:00 Arg %z 2008 Oct 18
3582  {
3583  &kZonePolicyArg /*zonePolicy*/,
3584  "" /*format*/,
3585  -720 /*offsetCode (-10800/15)*/,
3586  0 /*offsetRemainder (-10800%15)*/,
3587  0 /*deltaMinutes*/,
3588  2008 /*untilYear*/,
3589  10 /*untilMonth*/,
3590  18 /*untilDay*/,
3591  0 /*untilTimeCode (0/15)*/,
3592  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3593  },
3594  // -3:00 - %z
3595  {
3596  nullptr /*zonePolicy*/,
3597  "" /*format*/,
3598  -720 /*offsetCode (-10800/15)*/,
3599  0 /*offsetRemainder (-10800%15)*/,
3600  0 /*deltaMinutes*/,
3601  32767 /*untilYear*/,
3602  1 /*untilMonth*/,
3603  1 /*untilDay*/,
3604  0 /*untilTimeCode (0/15)*/,
3605  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3606  },
3607 
3608 };
3609 
3610 static const char kZoneNameAmerica_Argentina_San_Juan[] ACE_TIME_PROGMEM = "\x02" "\x04" "San_Juan";
3611 
3612 const complete::ZoneInfo kZoneAmerica_Argentina_San_Juan ACE_TIME_PROGMEM = {
3613  kZoneNameAmerica_Argentina_San_Juan /*name*/,
3614  0x3e1009bd /*zoneId*/,
3615  &kZoneContext /*zoneContext*/,
3616  12 /*numEras*/,
3617  kZoneEraAmerica_Argentina_San_Juan /*eras*/,
3618  nullptr /*targetInfo*/,
3619 };
3620 
3621 //---------------------------------------------------------------------------
3622 // Zone name: America/Argentina/San_Luis
3623 // Eras: 16
3624 //---------------------------------------------------------------------------
3625 
3626 static const complete::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PROGMEM = {
3627  // -4:25:24 - LMT 1894 Oct 31
3628  {
3629  nullptr /*zonePolicy*/,
3630  "LMT" /*format*/,
3631  -1062 /*offsetCode (-15924/15)*/,
3632  6 /*offsetRemainder (-15924%15)*/,
3633  0 /*deltaMinutes*/,
3634  1894 /*untilYear*/,
3635  10 /*untilMonth*/,
3636  31 /*untilDay*/,
3637  0 /*untilTimeCode (0/15)*/,
3638  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3639  },
3640  // -4:16:48 - CMT 1920 May
3641  {
3642  nullptr /*zonePolicy*/,
3643  "CMT" /*format*/,
3644  -1028 /*offsetCode (-15408/15)*/,
3645  12 /*offsetRemainder (-15408%15)*/,
3646  0 /*deltaMinutes*/,
3647  1920 /*untilYear*/,
3648  5 /*untilMonth*/,
3649  1 /*untilDay*/,
3650  0 /*untilTimeCode (0/15)*/,
3651  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3652  },
3653  // -4:00 - %z 1930 Dec
3654  {
3655  nullptr /*zonePolicy*/,
3656  "" /*format*/,
3657  -960 /*offsetCode (-14400/15)*/,
3658  0 /*offsetRemainder (-14400%15)*/,
3659  0 /*deltaMinutes*/,
3660  1930 /*untilYear*/,
3661  12 /*untilMonth*/,
3662  1 /*untilDay*/,
3663  0 /*untilTimeCode (0/15)*/,
3664  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3665  },
3666  // -4:00 Arg %z 1969 Oct 5
3667  {
3668  &kZonePolicyArg /*zonePolicy*/,
3669  "" /*format*/,
3670  -960 /*offsetCode (-14400/15)*/,
3671  0 /*offsetRemainder (-14400%15)*/,
3672  0 /*deltaMinutes*/,
3673  1969 /*untilYear*/,
3674  10 /*untilMonth*/,
3675  5 /*untilDay*/,
3676  0 /*untilTimeCode (0/15)*/,
3677  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3678  },
3679  // -3:00 Arg %z 1990
3680  {
3681  &kZonePolicyArg /*zonePolicy*/,
3682  "" /*format*/,
3683  -720 /*offsetCode (-10800/15)*/,
3684  0 /*offsetRemainder (-10800%15)*/,
3685  0 /*deltaMinutes*/,
3686  1990 /*untilYear*/,
3687  1 /*untilMonth*/,
3688  1 /*untilDay*/,
3689  0 /*untilTimeCode (0/15)*/,
3690  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3691  },
3692  // -3:00 1:00 %z 1990 Mar 14
3693  {
3694  nullptr /*zonePolicy*/,
3695  "" /*format*/,
3696  -720 /*offsetCode (-10800/15)*/,
3697  0 /*offsetRemainder (-10800%15)*/,
3698  60 /*deltaMinutes*/,
3699  1990 /*untilYear*/,
3700  3 /*untilMonth*/,
3701  14 /*untilDay*/,
3702  0 /*untilTimeCode (0/15)*/,
3703  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3704  },
3705  // -4:00 - %z 1990 Oct 15
3706  {
3707  nullptr /*zonePolicy*/,
3708  "" /*format*/,
3709  -960 /*offsetCode (-14400/15)*/,
3710  0 /*offsetRemainder (-14400%15)*/,
3711  0 /*deltaMinutes*/,
3712  1990 /*untilYear*/,
3713  10 /*untilMonth*/,
3714  15 /*untilDay*/,
3715  0 /*untilTimeCode (0/15)*/,
3716  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3717  },
3718  // -4:00 1:00 %z 1991 Mar 1
3719  {
3720  nullptr /*zonePolicy*/,
3721  "" /*format*/,
3722  -960 /*offsetCode (-14400/15)*/,
3723  0 /*offsetRemainder (-14400%15)*/,
3724  60 /*deltaMinutes*/,
3725  1991 /*untilYear*/,
3726  3 /*untilMonth*/,
3727  1 /*untilDay*/,
3728  0 /*untilTimeCode (0/15)*/,
3729  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3730  },
3731  // -4:00 - %z 1991 Jun 1
3732  {
3733  nullptr /*zonePolicy*/,
3734  "" /*format*/,
3735  -960 /*offsetCode (-14400/15)*/,
3736  0 /*offsetRemainder (-14400%15)*/,
3737  0 /*deltaMinutes*/,
3738  1991 /*untilYear*/,
3739  6 /*untilMonth*/,
3740  1 /*untilDay*/,
3741  0 /*untilTimeCode (0/15)*/,
3742  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3743  },
3744  // -3:00 - %z 1999 Oct 3
3745  {
3746  nullptr /*zonePolicy*/,
3747  "" /*format*/,
3748  -720 /*offsetCode (-10800/15)*/,
3749  0 /*offsetRemainder (-10800%15)*/,
3750  0 /*deltaMinutes*/,
3751  1999 /*untilYear*/,
3752  10 /*untilMonth*/,
3753  3 /*untilDay*/,
3754  0 /*untilTimeCode (0/15)*/,
3755  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3756  },
3757  // -4:00 1:00 %z 2000 Mar 3
3758  {
3759  nullptr /*zonePolicy*/,
3760  "" /*format*/,
3761  -960 /*offsetCode (-14400/15)*/,
3762  0 /*offsetRemainder (-14400%15)*/,
3763  60 /*deltaMinutes*/,
3764  2000 /*untilYear*/,
3765  3 /*untilMonth*/,
3766  3 /*untilDay*/,
3767  0 /*untilTimeCode (0/15)*/,
3768  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3769  },
3770  // -3:00 - %z 2004 May 31
3771  {
3772  nullptr /*zonePolicy*/,
3773  "" /*format*/,
3774  -720 /*offsetCode (-10800/15)*/,
3775  0 /*offsetRemainder (-10800%15)*/,
3776  0 /*deltaMinutes*/,
3777  2004 /*untilYear*/,
3778  5 /*untilMonth*/,
3779  31 /*untilDay*/,
3780  0 /*untilTimeCode (0/15)*/,
3781  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3782  },
3783  // -4:00 - %z 2004 Jul 25
3784  {
3785  nullptr /*zonePolicy*/,
3786  "" /*format*/,
3787  -960 /*offsetCode (-14400/15)*/,
3788  0 /*offsetRemainder (-14400%15)*/,
3789  0 /*deltaMinutes*/,
3790  2004 /*untilYear*/,
3791  7 /*untilMonth*/,
3792  25 /*untilDay*/,
3793  0 /*untilTimeCode (0/15)*/,
3794  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3795  },
3796  // -3:00 Arg %z 2008 Jan 21
3797  {
3798  &kZonePolicyArg /*zonePolicy*/,
3799  "" /*format*/,
3800  -720 /*offsetCode (-10800/15)*/,
3801  0 /*offsetRemainder (-10800%15)*/,
3802  0 /*deltaMinutes*/,
3803  2008 /*untilYear*/,
3804  1 /*untilMonth*/,
3805  21 /*untilDay*/,
3806  0 /*untilTimeCode (0/15)*/,
3807  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3808  },
3809  // -4:00 SanLuis %z 2009 Oct 11
3810  {
3811  &kZonePolicySanLuis /*zonePolicy*/,
3812  "" /*format*/,
3813  -960 /*offsetCode (-14400/15)*/,
3814  0 /*offsetRemainder (-14400%15)*/,
3815  0 /*deltaMinutes*/,
3816  2009 /*untilYear*/,
3817  10 /*untilMonth*/,
3818  11 /*untilDay*/,
3819  0 /*untilTimeCode (0/15)*/,
3820  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3821  },
3822  // -3:00 - %z
3823  {
3824  nullptr /*zonePolicy*/,
3825  "" /*format*/,
3826  -720 /*offsetCode (-10800/15)*/,
3827  0 /*offsetRemainder (-10800%15)*/,
3828  0 /*deltaMinutes*/,
3829  32767 /*untilYear*/,
3830  1 /*untilMonth*/,
3831  1 /*untilDay*/,
3832  0 /*untilTimeCode (0/15)*/,
3833  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3834  },
3835 
3836 };
3837 
3838 static const char kZoneNameAmerica_Argentina_San_Luis[] ACE_TIME_PROGMEM = "\x02" "\x04" "San_Luis";
3839 
3840 const complete::ZoneInfo kZoneAmerica_Argentina_San_Luis ACE_TIME_PROGMEM = {
3841  kZoneNameAmerica_Argentina_San_Luis /*name*/,
3842  0x3e11238c /*zoneId*/,
3843  &kZoneContext /*zoneContext*/,
3844  16 /*numEras*/,
3845  kZoneEraAmerica_Argentina_San_Luis /*eras*/,
3846  nullptr /*targetInfo*/,
3847 };
3848 
3849 //---------------------------------------------------------------------------
3850 // Zone name: America/Argentina/Tucuman
3851 // Eras: 11
3852 //---------------------------------------------------------------------------
3853 
3854 static const complete::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROGMEM = {
3855  // -4:20:52 - LMT 1894 Oct 31
3856  {
3857  nullptr /*zonePolicy*/,
3858  "LMT" /*format*/,
3859  -1044 /*offsetCode (-15652/15)*/,
3860  8 /*offsetRemainder (-15652%15)*/,
3861  0 /*deltaMinutes*/,
3862  1894 /*untilYear*/,
3863  10 /*untilMonth*/,
3864  31 /*untilDay*/,
3865  0 /*untilTimeCode (0/15)*/,
3866  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3867  },
3868  // -4:16:48 - CMT 1920 May
3869  {
3870  nullptr /*zonePolicy*/,
3871  "CMT" /*format*/,
3872  -1028 /*offsetCode (-15408/15)*/,
3873  12 /*offsetRemainder (-15408%15)*/,
3874  0 /*deltaMinutes*/,
3875  1920 /*untilYear*/,
3876  5 /*untilMonth*/,
3877  1 /*untilDay*/,
3878  0 /*untilTimeCode (0/15)*/,
3879  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3880  },
3881  // -4:00 - %z 1930 Dec
3882  {
3883  nullptr /*zonePolicy*/,
3884  "" /*format*/,
3885  -960 /*offsetCode (-14400/15)*/,
3886  0 /*offsetRemainder (-14400%15)*/,
3887  0 /*deltaMinutes*/,
3888  1930 /*untilYear*/,
3889  12 /*untilMonth*/,
3890  1 /*untilDay*/,
3891  0 /*untilTimeCode (0/15)*/,
3892  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3893  },
3894  // -4:00 Arg %z 1969 Oct 5
3895  {
3896  &kZonePolicyArg /*zonePolicy*/,
3897  "" /*format*/,
3898  -960 /*offsetCode (-14400/15)*/,
3899  0 /*offsetRemainder (-14400%15)*/,
3900  0 /*deltaMinutes*/,
3901  1969 /*untilYear*/,
3902  10 /*untilMonth*/,
3903  5 /*untilDay*/,
3904  0 /*untilTimeCode (0/15)*/,
3905  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3906  },
3907  // -3:00 Arg %z 1991 Mar 3
3908  {
3909  &kZonePolicyArg /*zonePolicy*/,
3910  "" /*format*/,
3911  -720 /*offsetCode (-10800/15)*/,
3912  0 /*offsetRemainder (-10800%15)*/,
3913  0 /*deltaMinutes*/,
3914  1991 /*untilYear*/,
3915  3 /*untilMonth*/,
3916  3 /*untilDay*/,
3917  0 /*untilTimeCode (0/15)*/,
3918  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3919  },
3920  // -4:00 - %z 1991 Oct 20
3921  {
3922  nullptr /*zonePolicy*/,
3923  "" /*format*/,
3924  -960 /*offsetCode (-14400/15)*/,
3925  0 /*offsetRemainder (-14400%15)*/,
3926  0 /*deltaMinutes*/,
3927  1991 /*untilYear*/,
3928  10 /*untilMonth*/,
3929  20 /*untilDay*/,
3930  0 /*untilTimeCode (0/15)*/,
3931  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3932  },
3933  // -3:00 Arg %z 1999 Oct 3
3934  {
3935  &kZonePolicyArg /*zonePolicy*/,
3936  "" /*format*/,
3937  -720 /*offsetCode (-10800/15)*/,
3938  0 /*offsetRemainder (-10800%15)*/,
3939  0 /*deltaMinutes*/,
3940  1999 /*untilYear*/,
3941  10 /*untilMonth*/,
3942  3 /*untilDay*/,
3943  0 /*untilTimeCode (0/15)*/,
3944  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3945  },
3946  // -4:00 Arg %z 2000 Mar 3
3947  {
3948  &kZonePolicyArg /*zonePolicy*/,
3949  "" /*format*/,
3950  -960 /*offsetCode (-14400/15)*/,
3951  0 /*offsetRemainder (-14400%15)*/,
3952  0 /*deltaMinutes*/,
3953  2000 /*untilYear*/,
3954  3 /*untilMonth*/,
3955  3 /*untilDay*/,
3956  0 /*untilTimeCode (0/15)*/,
3957  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3958  },
3959  // -3:00 - %z 2004 Jun 1
3960  {
3961  nullptr /*zonePolicy*/,
3962  "" /*format*/,
3963  -720 /*offsetCode (-10800/15)*/,
3964  0 /*offsetRemainder (-10800%15)*/,
3965  0 /*deltaMinutes*/,
3966  2004 /*untilYear*/,
3967  6 /*untilMonth*/,
3968  1 /*untilDay*/,
3969  0 /*untilTimeCode (0/15)*/,
3970  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3971  },
3972  // -4:00 - %z 2004 Jun 13
3973  {
3974  nullptr /*zonePolicy*/,
3975  "" /*format*/,
3976  -960 /*offsetCode (-14400/15)*/,
3977  0 /*offsetRemainder (-14400%15)*/,
3978  0 /*deltaMinutes*/,
3979  2004 /*untilYear*/,
3980  6 /*untilMonth*/,
3981  13 /*untilDay*/,
3982  0 /*untilTimeCode (0/15)*/,
3983  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3984  },
3985  // -3:00 Arg %z
3986  {
3987  &kZonePolicyArg /*zonePolicy*/,
3988  "" /*format*/,
3989  -720 /*offsetCode (-10800/15)*/,
3990  0 /*offsetRemainder (-10800%15)*/,
3991  0 /*deltaMinutes*/,
3992  32767 /*untilYear*/,
3993  1 /*untilMonth*/,
3994  1 /*untilDay*/,
3995  0 /*untilTimeCode (0/15)*/,
3996  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
3997  },
3998 
3999 };
4000 
4001 static const char kZoneNameAmerica_Argentina_Tucuman[] ACE_TIME_PROGMEM = "\x02" "\x04" "Tucuman";
4002 
4003 const complete::ZoneInfo kZoneAmerica_Argentina_Tucuman ACE_TIME_PROGMEM = {
4004  kZoneNameAmerica_Argentina_Tucuman /*name*/,
4005  0xe96399eb /*zoneId*/,
4006  &kZoneContext /*zoneContext*/,
4007  11 /*numEras*/,
4008  kZoneEraAmerica_Argentina_Tucuman /*eras*/,
4009  nullptr /*targetInfo*/,
4010 };
4011 
4012 //---------------------------------------------------------------------------
4013 // Zone name: America/Argentina/Ushuaia
4014 // Eras: 10
4015 //---------------------------------------------------------------------------
4016 
4017 static const complete::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROGMEM = {
4018  // -4:33:12 - LMT 1894 Oct 31
4019  {
4020  nullptr /*zonePolicy*/,
4021  "LMT" /*format*/,
4022  -1093 /*offsetCode (-16392/15)*/,
4023  3 /*offsetRemainder (-16392%15)*/,
4024  0 /*deltaMinutes*/,
4025  1894 /*untilYear*/,
4026  10 /*untilMonth*/,
4027  31 /*untilDay*/,
4028  0 /*untilTimeCode (0/15)*/,
4029  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4030  },
4031  // -4:16:48 - CMT 1920 May
4032  {
4033  nullptr /*zonePolicy*/,
4034  "CMT" /*format*/,
4035  -1028 /*offsetCode (-15408/15)*/,
4036  12 /*offsetRemainder (-15408%15)*/,
4037  0 /*deltaMinutes*/,
4038  1920 /*untilYear*/,
4039  5 /*untilMonth*/,
4040  1 /*untilDay*/,
4041  0 /*untilTimeCode (0/15)*/,
4042  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4043  },
4044  // -4:00 - %z 1930 Dec
4045  {
4046  nullptr /*zonePolicy*/,
4047  "" /*format*/,
4048  -960 /*offsetCode (-14400/15)*/,
4049  0 /*offsetRemainder (-14400%15)*/,
4050  0 /*deltaMinutes*/,
4051  1930 /*untilYear*/,
4052  12 /*untilMonth*/,
4053  1 /*untilDay*/,
4054  0 /*untilTimeCode (0/15)*/,
4055  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4056  },
4057  // -4:00 Arg %z 1969 Oct 5
4058  {
4059  &kZonePolicyArg /*zonePolicy*/,
4060  "" /*format*/,
4061  -960 /*offsetCode (-14400/15)*/,
4062  0 /*offsetRemainder (-14400%15)*/,
4063  0 /*deltaMinutes*/,
4064  1969 /*untilYear*/,
4065  10 /*untilMonth*/,
4066  5 /*untilDay*/,
4067  0 /*untilTimeCode (0/15)*/,
4068  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4069  },
4070  // -3:00 Arg %z 1999 Oct 3
4071  {
4072  &kZonePolicyArg /*zonePolicy*/,
4073  "" /*format*/,
4074  -720 /*offsetCode (-10800/15)*/,
4075  0 /*offsetRemainder (-10800%15)*/,
4076  0 /*deltaMinutes*/,
4077  1999 /*untilYear*/,
4078  10 /*untilMonth*/,
4079  3 /*untilDay*/,
4080  0 /*untilTimeCode (0/15)*/,
4081  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4082  },
4083  // -4:00 Arg %z 2000 Mar 3
4084  {
4085  &kZonePolicyArg /*zonePolicy*/,
4086  "" /*format*/,
4087  -960 /*offsetCode (-14400/15)*/,
4088  0 /*offsetRemainder (-14400%15)*/,
4089  0 /*deltaMinutes*/,
4090  2000 /*untilYear*/,
4091  3 /*untilMonth*/,
4092  3 /*untilDay*/,
4093  0 /*untilTimeCode (0/15)*/,
4094  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4095  },
4096  // -3:00 - %z 2004 May 30
4097  {
4098  nullptr /*zonePolicy*/,
4099  "" /*format*/,
4100  -720 /*offsetCode (-10800/15)*/,
4101  0 /*offsetRemainder (-10800%15)*/,
4102  0 /*deltaMinutes*/,
4103  2004 /*untilYear*/,
4104  5 /*untilMonth*/,
4105  30 /*untilDay*/,
4106  0 /*untilTimeCode (0/15)*/,
4107  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4108  },
4109  // -4:00 - %z 2004 Jun 20
4110  {
4111  nullptr /*zonePolicy*/,
4112  "" /*format*/,
4113  -960 /*offsetCode (-14400/15)*/,
4114  0 /*offsetRemainder (-14400%15)*/,
4115  0 /*deltaMinutes*/,
4116  2004 /*untilYear*/,
4117  6 /*untilMonth*/,
4118  20 /*untilDay*/,
4119  0 /*untilTimeCode (0/15)*/,
4120  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4121  },
4122  // -3:00 Arg %z 2008 Oct 18
4123  {
4124  &kZonePolicyArg /*zonePolicy*/,
4125  "" /*format*/,
4126  -720 /*offsetCode (-10800/15)*/,
4127  0 /*offsetRemainder (-10800%15)*/,
4128  0 /*deltaMinutes*/,
4129  2008 /*untilYear*/,
4130  10 /*untilMonth*/,
4131  18 /*untilDay*/,
4132  0 /*untilTimeCode (0/15)*/,
4133  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4134  },
4135  // -3:00 - %z
4136  {
4137  nullptr /*zonePolicy*/,
4138  "" /*format*/,
4139  -720 /*offsetCode (-10800/15)*/,
4140  0 /*offsetRemainder (-10800%15)*/,
4141  0 /*deltaMinutes*/,
4142  32767 /*untilYear*/,
4143  1 /*untilMonth*/,
4144  1 /*untilDay*/,
4145  0 /*untilTimeCode (0/15)*/,
4146  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4147  },
4148 
4149 };
4150 
4151 static const char kZoneNameAmerica_Argentina_Ushuaia[] ACE_TIME_PROGMEM = "\x02" "\x04" "Ushuaia";
4152 
4153 const complete::ZoneInfo kZoneAmerica_Argentina_Ushuaia ACE_TIME_PROGMEM = {
4154  kZoneNameAmerica_Argentina_Ushuaia /*name*/,
4155  0x320dcdde /*zoneId*/,
4156  &kZoneContext /*zoneContext*/,
4157  10 /*numEras*/,
4158  kZoneEraAmerica_Argentina_Ushuaia /*eras*/,
4159  nullptr /*targetInfo*/,
4160 };
4161 
4162 //---------------------------------------------------------------------------
4163 // Zone name: America/Asuncion
4164 // Eras: 6
4165 //---------------------------------------------------------------------------
4166 
4167 static const complete::ZoneEra kZoneEraAmerica_Asuncion[] ACE_TIME_PROGMEM = {
4168  // -3:50:40 - LMT 1890
4169  {
4170  nullptr /*zonePolicy*/,
4171  "LMT" /*format*/,
4172  -923 /*offsetCode (-13840/15)*/,
4173  5 /*offsetRemainder (-13840%15)*/,
4174  0 /*deltaMinutes*/,
4175  1890 /*untilYear*/,
4176  1 /*untilMonth*/,
4177  1 /*untilDay*/,
4178  0 /*untilTimeCode (0/15)*/,
4179  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4180  },
4181  // -3:50:40 - AMT 1931 Oct 10
4182  {
4183  nullptr /*zonePolicy*/,
4184  "AMT" /*format*/,
4185  -923 /*offsetCode (-13840/15)*/,
4186  5 /*offsetRemainder (-13840%15)*/,
4187  0 /*deltaMinutes*/,
4188  1931 /*untilYear*/,
4189  10 /*untilMonth*/,
4190  10 /*untilDay*/,
4191  0 /*untilTimeCode (0/15)*/,
4192  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4193  },
4194  // -4:00 - %z 1972 Oct
4195  {
4196  nullptr /*zonePolicy*/,
4197  "" /*format*/,
4198  -960 /*offsetCode (-14400/15)*/,
4199  0 /*offsetRemainder (-14400%15)*/,
4200  0 /*deltaMinutes*/,
4201  1972 /*untilYear*/,
4202  10 /*untilMonth*/,
4203  1 /*untilDay*/,
4204  0 /*untilTimeCode (0/15)*/,
4205  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4206  },
4207  // -3:00 - %z 1974 Apr
4208  {
4209  nullptr /*zonePolicy*/,
4210  "" /*format*/,
4211  -720 /*offsetCode (-10800/15)*/,
4212  0 /*offsetRemainder (-10800%15)*/,
4213  0 /*deltaMinutes*/,
4214  1974 /*untilYear*/,
4215  4 /*untilMonth*/,
4216  1 /*untilDay*/,
4217  0 /*untilTimeCode (0/15)*/,
4218  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4219  },
4220  // -4:00 Para %z 2024 Oct 15
4221  {
4222  &kZonePolicyPara /*zonePolicy*/,
4223  "" /*format*/,
4224  -960 /*offsetCode (-14400/15)*/,
4225  0 /*offsetRemainder (-14400%15)*/,
4226  0 /*deltaMinutes*/,
4227  2024 /*untilYear*/,
4228  10 /*untilMonth*/,
4229  15 /*untilDay*/,
4230  0 /*untilTimeCode (0/15)*/,
4231  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4232  },
4233  // -3:00 - %z
4234  {
4235  nullptr /*zonePolicy*/,
4236  "" /*format*/,
4237  -720 /*offsetCode (-10800/15)*/,
4238  0 /*offsetRemainder (-10800%15)*/,
4239  0 /*deltaMinutes*/,
4240  32767 /*untilYear*/,
4241  1 /*untilMonth*/,
4242  1 /*untilDay*/,
4243  0 /*untilTimeCode (0/15)*/,
4244  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4245  },
4246 
4247 };
4248 
4249 static const char kZoneNameAmerica_Asuncion[] ACE_TIME_PROGMEM = "\x02" "Asuncion";
4250 
4251 const complete::ZoneInfo kZoneAmerica_Asuncion ACE_TIME_PROGMEM = {
4252  kZoneNameAmerica_Asuncion /*name*/,
4253  0x50ec79a6 /*zoneId*/,
4254  &kZoneContext /*zoneContext*/,
4255  6 /*numEras*/,
4256  kZoneEraAmerica_Asuncion /*eras*/,
4257  nullptr /*targetInfo*/,
4258 };
4259 
4260 //---------------------------------------------------------------------------
4261 // Zone name: America/Bahia
4262 // Eras: 5
4263 //---------------------------------------------------------------------------
4264 
4265 static const complete::ZoneEra kZoneEraAmerica_Bahia[] ACE_TIME_PROGMEM = {
4266  // -2:34:04 - LMT 1914
4267  {
4268  nullptr /*zonePolicy*/,
4269  "LMT" /*format*/,
4270  -617 /*offsetCode (-9244/15)*/,
4271  11 /*offsetRemainder (-9244%15)*/,
4272  0 /*deltaMinutes*/,
4273  1914 /*untilYear*/,
4274  1 /*untilMonth*/,
4275  1 /*untilDay*/,
4276  0 /*untilTimeCode (0/15)*/,
4277  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4278  },
4279  // -3:00 Brazil %z 2003 Sep 24
4280  {
4281  &kZonePolicyBrazil /*zonePolicy*/,
4282  "" /*format*/,
4283  -720 /*offsetCode (-10800/15)*/,
4284  0 /*offsetRemainder (-10800%15)*/,
4285  0 /*deltaMinutes*/,
4286  2003 /*untilYear*/,
4287  9 /*untilMonth*/,
4288  24 /*untilDay*/,
4289  0 /*untilTimeCode (0/15)*/,
4290  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4291  },
4292  // -3:00 - %z 2011 Oct 16
4293  {
4294  nullptr /*zonePolicy*/,
4295  "" /*format*/,
4296  -720 /*offsetCode (-10800/15)*/,
4297  0 /*offsetRemainder (-10800%15)*/,
4298  0 /*deltaMinutes*/,
4299  2011 /*untilYear*/,
4300  10 /*untilMonth*/,
4301  16 /*untilDay*/,
4302  0 /*untilTimeCode (0/15)*/,
4303  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4304  },
4305  // -3:00 Brazil %z 2012 Oct 21
4306  {
4307  &kZonePolicyBrazil /*zonePolicy*/,
4308  "" /*format*/,
4309  -720 /*offsetCode (-10800/15)*/,
4310  0 /*offsetRemainder (-10800%15)*/,
4311  0 /*deltaMinutes*/,
4312  2012 /*untilYear*/,
4313  10 /*untilMonth*/,
4314  21 /*untilDay*/,
4315  0 /*untilTimeCode (0/15)*/,
4316  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4317  },
4318  // -3:00 - %z
4319  {
4320  nullptr /*zonePolicy*/,
4321  "" /*format*/,
4322  -720 /*offsetCode (-10800/15)*/,
4323  0 /*offsetRemainder (-10800%15)*/,
4324  0 /*deltaMinutes*/,
4325  32767 /*untilYear*/,
4326  1 /*untilMonth*/,
4327  1 /*untilDay*/,
4328  0 /*untilTimeCode (0/15)*/,
4329  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4330  },
4331 
4332 };
4333 
4334 static const char kZoneNameAmerica_Bahia[] ACE_TIME_PROGMEM = "\x02" "Bahia";
4335 
4336 const complete::ZoneInfo kZoneAmerica_Bahia ACE_TIME_PROGMEM = {
4337  kZoneNameAmerica_Bahia /*name*/,
4338  0x97d815fb /*zoneId*/,
4339  &kZoneContext /*zoneContext*/,
4340  5 /*numEras*/,
4341  kZoneEraAmerica_Bahia /*eras*/,
4342  nullptr /*targetInfo*/,
4343 };
4344 
4345 //---------------------------------------------------------------------------
4346 // Zone name: America/Bahia_Banderas
4347 // Eras: 8
4348 //---------------------------------------------------------------------------
4349 
4350 static const complete::ZoneEra kZoneEraAmerica_Bahia_Banderas[] ACE_TIME_PROGMEM = {
4351  // -7:01:00 - LMT 1922 Jan 1 7:00u
4352  {
4353  nullptr /*zonePolicy*/,
4354  "LMT" /*format*/,
4355  -1684 /*offsetCode (-25260/15)*/,
4356  0 /*offsetRemainder (-25260%15)*/,
4357  0 /*deltaMinutes*/,
4358  1922 /*untilYear*/,
4359  1 /*untilMonth*/,
4360  1 /*untilDay*/,
4361  1680 /*untilTimeCode (25200/15)*/,
4362  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
4363  },
4364  // -7:00 - MST 1927 Jun 10
4365  {
4366  nullptr /*zonePolicy*/,
4367  "MST" /*format*/,
4368  -1680 /*offsetCode (-25200/15)*/,
4369  0 /*offsetRemainder (-25200%15)*/,
4370  0 /*deltaMinutes*/,
4371  1927 /*untilYear*/,
4372  6 /*untilMonth*/,
4373  10 /*untilDay*/,
4374  0 /*untilTimeCode (0/15)*/,
4375  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4376  },
4377  // -6:00 - CST 1930 Nov 15
4378  {
4379  nullptr /*zonePolicy*/,
4380  "CST" /*format*/,
4381  -1440 /*offsetCode (-21600/15)*/,
4382  0 /*offsetRemainder (-21600%15)*/,
4383  0 /*deltaMinutes*/,
4384  1930 /*untilYear*/,
4385  11 /*untilMonth*/,
4386  15 /*untilDay*/,
4387  0 /*untilTimeCode (0/15)*/,
4388  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4389  },
4390  // -7:00 Mexico M%sT 1932 Apr 1
4391  {
4392  &kZonePolicyMexico /*zonePolicy*/,
4393  "M%T" /*format*/,
4394  -1680 /*offsetCode (-25200/15)*/,
4395  0 /*offsetRemainder (-25200%15)*/,
4396  0 /*deltaMinutes*/,
4397  1932 /*untilYear*/,
4398  4 /*untilMonth*/,
4399  1 /*untilDay*/,
4400  0 /*untilTimeCode (0/15)*/,
4401  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4402  },
4403  // -6:00 - CST 1942 Apr 24
4404  {
4405  nullptr /*zonePolicy*/,
4406  "CST" /*format*/,
4407  -1440 /*offsetCode (-21600/15)*/,
4408  0 /*offsetRemainder (-21600%15)*/,
4409  0 /*deltaMinutes*/,
4410  1942 /*untilYear*/,
4411  4 /*untilMonth*/,
4412  24 /*untilDay*/,
4413  0 /*untilTimeCode (0/15)*/,
4414  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4415  },
4416  // -7:00 - MST 1970
4417  {
4418  nullptr /*zonePolicy*/,
4419  "MST" /*format*/,
4420  -1680 /*offsetCode (-25200/15)*/,
4421  0 /*offsetRemainder (-25200%15)*/,
4422  0 /*deltaMinutes*/,
4423  1970 /*untilYear*/,
4424  1 /*untilMonth*/,
4425  1 /*untilDay*/,
4426  0 /*untilTimeCode (0/15)*/,
4427  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4428  },
4429  // -7:00 Mexico M%sT 2010 Apr 4 2:00
4430  {
4431  &kZonePolicyMexico /*zonePolicy*/,
4432  "M%T" /*format*/,
4433  -1680 /*offsetCode (-25200/15)*/,
4434  0 /*offsetRemainder (-25200%15)*/,
4435  0 /*deltaMinutes*/,
4436  2010 /*untilYear*/,
4437  4 /*untilMonth*/,
4438  4 /*untilDay*/,
4439  480 /*untilTimeCode (7200/15)*/,
4440  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4441  },
4442  // -6:00 Mexico C%sT
4443  {
4444  &kZonePolicyMexico /*zonePolicy*/,
4445  "C%T" /*format*/,
4446  -1440 /*offsetCode (-21600/15)*/,
4447  0 /*offsetRemainder (-21600%15)*/,
4448  0 /*deltaMinutes*/,
4449  32767 /*untilYear*/,
4450  1 /*untilMonth*/,
4451  1 /*untilDay*/,
4452  0 /*untilTimeCode (0/15)*/,
4453  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4454  },
4455 
4456 };
4457 
4458 static const char kZoneNameAmerica_Bahia_Banderas[] ACE_TIME_PROGMEM = "\x02" "Bahia_Banderas";
4459 
4460 const complete::ZoneInfo kZoneAmerica_Bahia_Banderas ACE_TIME_PROGMEM = {
4461  kZoneNameAmerica_Bahia_Banderas /*name*/,
4462  0x14f6329a /*zoneId*/,
4463  &kZoneContext /*zoneContext*/,
4464  8 /*numEras*/,
4465  kZoneEraAmerica_Bahia_Banderas /*eras*/,
4466  nullptr /*targetInfo*/,
4467 };
4468 
4469 //---------------------------------------------------------------------------
4470 // Zone name: America/Barbados
4471 // Eras: 4
4472 //---------------------------------------------------------------------------
4473 
4474 static const complete::ZoneEra kZoneEraAmerica_Barbados[] ACE_TIME_PROGMEM = {
4475  // -3:58:29 - LMT 1911 Aug 28
4476  {
4477  nullptr /*zonePolicy*/,
4478  "LMT" /*format*/,
4479  -954 /*offsetCode (-14309/15)*/,
4480  1 /*offsetRemainder (-14309%15)*/,
4481  0 /*deltaMinutes*/,
4482  1911 /*untilYear*/,
4483  8 /*untilMonth*/,
4484  28 /*untilDay*/,
4485  0 /*untilTimeCode (0/15)*/,
4486  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4487  },
4488  // -4:00 Barb A%sT 1944
4489  {
4490  &kZonePolicyBarb /*zonePolicy*/,
4491  "A%T" /*format*/,
4492  -960 /*offsetCode (-14400/15)*/,
4493  0 /*offsetRemainder (-14400%15)*/,
4494  0 /*deltaMinutes*/,
4495  1944 /*untilYear*/,
4496  1 /*untilMonth*/,
4497  1 /*untilDay*/,
4498  0 /*untilTimeCode (0/15)*/,
4499  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4500  },
4501  // -4:00 Barb AST/-0330 1945
4502  {
4503  &kZonePolicyBarb /*zonePolicy*/,
4504  "AST/-0330" /*format*/,
4505  -960 /*offsetCode (-14400/15)*/,
4506  0 /*offsetRemainder (-14400%15)*/,
4507  0 /*deltaMinutes*/,
4508  1945 /*untilYear*/,
4509  1 /*untilMonth*/,
4510  1 /*untilDay*/,
4511  0 /*untilTimeCode (0/15)*/,
4512  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4513  },
4514  // -4:00 Barb A%sT
4515  {
4516  &kZonePolicyBarb /*zonePolicy*/,
4517  "A%T" /*format*/,
4518  -960 /*offsetCode (-14400/15)*/,
4519  0 /*offsetRemainder (-14400%15)*/,
4520  0 /*deltaMinutes*/,
4521  32767 /*untilYear*/,
4522  1 /*untilMonth*/,
4523  1 /*untilDay*/,
4524  0 /*untilTimeCode (0/15)*/,
4525  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4526  },
4527 
4528 };
4529 
4530 static const char kZoneNameAmerica_Barbados[] ACE_TIME_PROGMEM = "\x02" "Barbados";
4531 
4532 const complete::ZoneInfo kZoneAmerica_Barbados ACE_TIME_PROGMEM = {
4533  kZoneNameAmerica_Barbados /*name*/,
4534  0xcbbc3b04 /*zoneId*/,
4535  &kZoneContext /*zoneContext*/,
4536  4 /*numEras*/,
4537  kZoneEraAmerica_Barbados /*eras*/,
4538  nullptr /*targetInfo*/,
4539 };
4540 
4541 //---------------------------------------------------------------------------
4542 // Zone name: America/Belem
4543 // Eras: 3
4544 //---------------------------------------------------------------------------
4545 
4546 static const complete::ZoneEra kZoneEraAmerica_Belem[] ACE_TIME_PROGMEM = {
4547  // -3:13:56 - LMT 1914
4548  {
4549  nullptr /*zonePolicy*/,
4550  "LMT" /*format*/,
4551  -776 /*offsetCode (-11636/15)*/,
4552  4 /*offsetRemainder (-11636%15)*/,
4553  0 /*deltaMinutes*/,
4554  1914 /*untilYear*/,
4555  1 /*untilMonth*/,
4556  1 /*untilDay*/,
4557  0 /*untilTimeCode (0/15)*/,
4558  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4559  },
4560  // -3:00 Brazil %z 1988 Sep 12
4561  {
4562  &kZonePolicyBrazil /*zonePolicy*/,
4563  "" /*format*/,
4564  -720 /*offsetCode (-10800/15)*/,
4565  0 /*offsetRemainder (-10800%15)*/,
4566  0 /*deltaMinutes*/,
4567  1988 /*untilYear*/,
4568  9 /*untilMonth*/,
4569  12 /*untilDay*/,
4570  0 /*untilTimeCode (0/15)*/,
4571  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4572  },
4573  // -3:00 - %z
4574  {
4575  nullptr /*zonePolicy*/,
4576  "" /*format*/,
4577  -720 /*offsetCode (-10800/15)*/,
4578  0 /*offsetRemainder (-10800%15)*/,
4579  0 /*deltaMinutes*/,
4580  32767 /*untilYear*/,
4581  1 /*untilMonth*/,
4582  1 /*untilDay*/,
4583  0 /*untilTimeCode (0/15)*/,
4584  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4585  },
4586 
4587 };
4588 
4589 static const char kZoneNameAmerica_Belem[] ACE_TIME_PROGMEM = "\x02" "Belem";
4590 
4591 const complete::ZoneInfo kZoneAmerica_Belem ACE_TIME_PROGMEM = {
4592  kZoneNameAmerica_Belem /*name*/,
4593  0x97da580b /*zoneId*/,
4594  &kZoneContext /*zoneContext*/,
4595  3 /*numEras*/,
4596  kZoneEraAmerica_Belem /*eras*/,
4597  nullptr /*targetInfo*/,
4598 };
4599 
4600 //---------------------------------------------------------------------------
4601 // Zone name: America/Belize
4602 // Eras: 2
4603 //---------------------------------------------------------------------------
4604 
4605 static const complete::ZoneEra kZoneEraAmerica_Belize[] ACE_TIME_PROGMEM = {
4606  // -5:52:48 - LMT 1912 Apr 1
4607  {
4608  nullptr /*zonePolicy*/,
4609  "LMT" /*format*/,
4610  -1412 /*offsetCode (-21168/15)*/,
4611  12 /*offsetRemainder (-21168%15)*/,
4612  0 /*deltaMinutes*/,
4613  1912 /*untilYear*/,
4614  4 /*untilMonth*/,
4615  1 /*untilDay*/,
4616  0 /*untilTimeCode (0/15)*/,
4617  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4618  },
4619  // -6:00 Belize %s
4620  {
4621  &kZonePolicyBelize /*zonePolicy*/,
4622  "%" /*format*/,
4623  -1440 /*offsetCode (-21600/15)*/,
4624  0 /*offsetRemainder (-21600%15)*/,
4625  0 /*deltaMinutes*/,
4626  32767 /*untilYear*/,
4627  1 /*untilMonth*/,
4628  1 /*untilDay*/,
4629  0 /*untilTimeCode (0/15)*/,
4630  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4631  },
4632 
4633 };
4634 
4635 static const char kZoneNameAmerica_Belize[] ACE_TIME_PROGMEM = "\x02" "Belize";
4636 
4637 const complete::ZoneInfo kZoneAmerica_Belize ACE_TIME_PROGMEM = {
4638  kZoneNameAmerica_Belize /*name*/,
4639  0x93256c81 /*zoneId*/,
4640  &kZoneContext /*zoneContext*/,
4641  2 /*numEras*/,
4642  kZoneEraAmerica_Belize /*eras*/,
4643  nullptr /*targetInfo*/,
4644 };
4645 
4646 //---------------------------------------------------------------------------
4647 // Zone name: America/Boa_Vista
4648 // Eras: 5
4649 //---------------------------------------------------------------------------
4650 
4651 static const complete::ZoneEra kZoneEraAmerica_Boa_Vista[] ACE_TIME_PROGMEM = {
4652  // -4:02:40 - LMT 1914
4653  {
4654  nullptr /*zonePolicy*/,
4655  "LMT" /*format*/,
4656  -971 /*offsetCode (-14560/15)*/,
4657  5 /*offsetRemainder (-14560%15)*/,
4658  0 /*deltaMinutes*/,
4659  1914 /*untilYear*/,
4660  1 /*untilMonth*/,
4661  1 /*untilDay*/,
4662  0 /*untilTimeCode (0/15)*/,
4663  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4664  },
4665  // -4:00 Brazil %z 1988 Sep 12
4666  {
4667  &kZonePolicyBrazil /*zonePolicy*/,
4668  "" /*format*/,
4669  -960 /*offsetCode (-14400/15)*/,
4670  0 /*offsetRemainder (-14400%15)*/,
4671  0 /*deltaMinutes*/,
4672  1988 /*untilYear*/,
4673  9 /*untilMonth*/,
4674  12 /*untilDay*/,
4675  0 /*untilTimeCode (0/15)*/,
4676  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4677  },
4678  // -4:00 - %z 1999 Sep 30
4679  {
4680  nullptr /*zonePolicy*/,
4681  "" /*format*/,
4682  -960 /*offsetCode (-14400/15)*/,
4683  0 /*offsetRemainder (-14400%15)*/,
4684  0 /*deltaMinutes*/,
4685  1999 /*untilYear*/,
4686  9 /*untilMonth*/,
4687  30 /*untilDay*/,
4688  0 /*untilTimeCode (0/15)*/,
4689  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4690  },
4691  // -4:00 Brazil %z 2000 Oct 15
4692  {
4693  &kZonePolicyBrazil /*zonePolicy*/,
4694  "" /*format*/,
4695  -960 /*offsetCode (-14400/15)*/,
4696  0 /*offsetRemainder (-14400%15)*/,
4697  0 /*deltaMinutes*/,
4698  2000 /*untilYear*/,
4699  10 /*untilMonth*/,
4700  15 /*untilDay*/,
4701  0 /*untilTimeCode (0/15)*/,
4702  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4703  },
4704  // -4:00 - %z
4705  {
4706  nullptr /*zonePolicy*/,
4707  "" /*format*/,
4708  -960 /*offsetCode (-14400/15)*/,
4709  0 /*offsetRemainder (-14400%15)*/,
4710  0 /*deltaMinutes*/,
4711  32767 /*untilYear*/,
4712  1 /*untilMonth*/,
4713  1 /*untilDay*/,
4714  0 /*untilTimeCode (0/15)*/,
4715  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4716  },
4717 
4718 };
4719 
4720 static const char kZoneNameAmerica_Boa_Vista[] ACE_TIME_PROGMEM = "\x02" "Boa_Vista";
4721 
4722 const complete::ZoneInfo kZoneAmerica_Boa_Vista ACE_TIME_PROGMEM = {
4723  kZoneNameAmerica_Boa_Vista /*name*/,
4724  0x0a7b7efe /*zoneId*/,
4725  &kZoneContext /*zoneContext*/,
4726  5 /*numEras*/,
4727  kZoneEraAmerica_Boa_Vista /*eras*/,
4728  nullptr /*targetInfo*/,
4729 };
4730 
4731 //---------------------------------------------------------------------------
4732 // Zone name: America/Bogota
4733 // Eras: 3
4734 //---------------------------------------------------------------------------
4735 
4736 static const complete::ZoneEra kZoneEraAmerica_Bogota[] ACE_TIME_PROGMEM = {
4737  // -4:56:16 - LMT 1884 Mar 13
4738  {
4739  nullptr /*zonePolicy*/,
4740  "LMT" /*format*/,
4741  -1186 /*offsetCode (-17776/15)*/,
4742  14 /*offsetRemainder (-17776%15)*/,
4743  0 /*deltaMinutes*/,
4744  1884 /*untilYear*/,
4745  3 /*untilMonth*/,
4746  13 /*untilDay*/,
4747  0 /*untilTimeCode (0/15)*/,
4748  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4749  },
4750  // -4:56:16 - BMT 1914 Nov 23
4751  {
4752  nullptr /*zonePolicy*/,
4753  "BMT" /*format*/,
4754  -1186 /*offsetCode (-17776/15)*/,
4755  14 /*offsetRemainder (-17776%15)*/,
4756  0 /*deltaMinutes*/,
4757  1914 /*untilYear*/,
4758  11 /*untilMonth*/,
4759  23 /*untilDay*/,
4760  0 /*untilTimeCode (0/15)*/,
4761  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4762  },
4763  // -5:00 CO %z
4764  {
4765  &kZonePolicyCO /*zonePolicy*/,
4766  "" /*format*/,
4767  -1200 /*offsetCode (-18000/15)*/,
4768  0 /*offsetRemainder (-18000%15)*/,
4769  0 /*deltaMinutes*/,
4770  32767 /*untilYear*/,
4771  1 /*untilMonth*/,
4772  1 /*untilDay*/,
4773  0 /*untilTimeCode (0/15)*/,
4774  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4775  },
4776 
4777 };
4778 
4779 static const char kZoneNameAmerica_Bogota[] ACE_TIME_PROGMEM = "\x02" "Bogota";
4780 
4781 const complete::ZoneInfo kZoneAmerica_Bogota ACE_TIME_PROGMEM = {
4782  kZoneNameAmerica_Bogota /*name*/,
4783  0x93d7bc62 /*zoneId*/,
4784  &kZoneContext /*zoneContext*/,
4785  3 /*numEras*/,
4786  kZoneEraAmerica_Bogota /*eras*/,
4787  nullptr /*targetInfo*/,
4788 };
4789 
4790 //---------------------------------------------------------------------------
4791 // Zone name: America/Boise
4792 // Eras: 5
4793 //---------------------------------------------------------------------------
4794 
4795 static const complete::ZoneEra kZoneEraAmerica_Boise[] ACE_TIME_PROGMEM = {
4796  // -7:44:49 - LMT 1883 Nov 18 20:00u
4797  {
4798  nullptr /*zonePolicy*/,
4799  "LMT" /*format*/,
4800  -1860 /*offsetCode (-27889/15)*/,
4801  11 /*offsetRemainder (-27889%15)*/,
4802  0 /*deltaMinutes*/,
4803  1883 /*untilYear*/,
4804  11 /*untilMonth*/,
4805  18 /*untilDay*/,
4806  4800 /*untilTimeCode (72000/15)*/,
4807  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
4808  },
4809  // -8:00 US P%sT 1923 May 13 2:00
4810  {
4811  &kZonePolicyUS /*zonePolicy*/,
4812  "P%T" /*format*/,
4813  -1920 /*offsetCode (-28800/15)*/,
4814  0 /*offsetRemainder (-28800%15)*/,
4815  0 /*deltaMinutes*/,
4816  1923 /*untilYear*/,
4817  5 /*untilMonth*/,
4818  13 /*untilDay*/,
4819  480 /*untilTimeCode (7200/15)*/,
4820  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4821  },
4822  // -7:00 US M%sT 1974
4823  {
4824  &kZonePolicyUS /*zonePolicy*/,
4825  "M%T" /*format*/,
4826  -1680 /*offsetCode (-25200/15)*/,
4827  0 /*offsetRemainder (-25200%15)*/,
4828  0 /*deltaMinutes*/,
4829  1974 /*untilYear*/,
4830  1 /*untilMonth*/,
4831  1 /*untilDay*/,
4832  0 /*untilTimeCode (0/15)*/,
4833  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4834  },
4835  // -7:00 - MST 1974 Feb 3 2:00
4836  {
4837  nullptr /*zonePolicy*/,
4838  "MST" /*format*/,
4839  -1680 /*offsetCode (-25200/15)*/,
4840  0 /*offsetRemainder (-25200%15)*/,
4841  0 /*deltaMinutes*/,
4842  1974 /*untilYear*/,
4843  2 /*untilMonth*/,
4844  3 /*untilDay*/,
4845  480 /*untilTimeCode (7200/15)*/,
4846  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4847  },
4848  // -7:00 US M%sT
4849  {
4850  &kZonePolicyUS /*zonePolicy*/,
4851  "M%T" /*format*/,
4852  -1680 /*offsetCode (-25200/15)*/,
4853  0 /*offsetRemainder (-25200%15)*/,
4854  0 /*deltaMinutes*/,
4855  32767 /*untilYear*/,
4856  1 /*untilMonth*/,
4857  1 /*untilDay*/,
4858  0 /*untilTimeCode (0/15)*/,
4859  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4860  },
4861 
4862 };
4863 
4864 static const char kZoneNameAmerica_Boise[] ACE_TIME_PROGMEM = "\x02" "Boise";
4865 
4866 const complete::ZoneInfo kZoneAmerica_Boise ACE_TIME_PROGMEM = {
4867  kZoneNameAmerica_Boise /*name*/,
4868  0x97dfc8d8 /*zoneId*/,
4869  &kZoneContext /*zoneContext*/,
4870  5 /*numEras*/,
4871  kZoneEraAmerica_Boise /*eras*/,
4872  nullptr /*targetInfo*/,
4873 };
4874 
4875 //---------------------------------------------------------------------------
4876 // Zone name: America/Cambridge_Bay
4877 // Eras: 6
4878 //---------------------------------------------------------------------------
4879 
4880 static const complete::ZoneEra kZoneEraAmerica_Cambridge_Bay[] ACE_TIME_PROGMEM = {
4881  // 0 - -00 1920
4882  {
4883  nullptr /*zonePolicy*/,
4884  "-00" /*format*/,
4885  0 /*offsetCode (0/15)*/,
4886  0 /*offsetRemainder (0%15)*/,
4887  0 /*deltaMinutes*/,
4888  1920 /*untilYear*/,
4889  1 /*untilMonth*/,
4890  1 /*untilDay*/,
4891  0 /*untilTimeCode (0/15)*/,
4892  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4893  },
4894  // -7:00 NT_YK M%sT 1999 Oct 31 2:00
4895  {
4896  &kZonePolicyNT_YK /*zonePolicy*/,
4897  "M%T" /*format*/,
4898  -1680 /*offsetCode (-25200/15)*/,
4899  0 /*offsetRemainder (-25200%15)*/,
4900  0 /*deltaMinutes*/,
4901  1999 /*untilYear*/,
4902  10 /*untilMonth*/,
4903  31 /*untilDay*/,
4904  480 /*untilTimeCode (7200/15)*/,
4905  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4906  },
4907  // -6:00 Canada C%sT 2000 Oct 29 2:00
4908  {
4909  &kZonePolicyCanada /*zonePolicy*/,
4910  "C%T" /*format*/,
4911  -1440 /*offsetCode (-21600/15)*/,
4912  0 /*offsetRemainder (-21600%15)*/,
4913  0 /*deltaMinutes*/,
4914  2000 /*untilYear*/,
4915  10 /*untilMonth*/,
4916  29 /*untilDay*/,
4917  480 /*untilTimeCode (7200/15)*/,
4918  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4919  },
4920  // -5:00 - EST 2000 Nov 5 0:00
4921  {
4922  nullptr /*zonePolicy*/,
4923  "EST" /*format*/,
4924  -1200 /*offsetCode (-18000/15)*/,
4925  0 /*offsetRemainder (-18000%15)*/,
4926  0 /*deltaMinutes*/,
4927  2000 /*untilYear*/,
4928  11 /*untilMonth*/,
4929  5 /*untilDay*/,
4930  0 /*untilTimeCode (0/15)*/,
4931  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4932  },
4933  // -6:00 - CST 2001 Apr 1 3:00
4934  {
4935  nullptr /*zonePolicy*/,
4936  "CST" /*format*/,
4937  -1440 /*offsetCode (-21600/15)*/,
4938  0 /*offsetRemainder (-21600%15)*/,
4939  0 /*deltaMinutes*/,
4940  2001 /*untilYear*/,
4941  4 /*untilMonth*/,
4942  1 /*untilDay*/,
4943  720 /*untilTimeCode (10800/15)*/,
4944  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4945  },
4946  // -7:00 Canada M%sT
4947  {
4948  &kZonePolicyCanada /*zonePolicy*/,
4949  "M%T" /*format*/,
4950  -1680 /*offsetCode (-25200/15)*/,
4951  0 /*offsetRemainder (-25200%15)*/,
4952  0 /*deltaMinutes*/,
4953  32767 /*untilYear*/,
4954  1 /*untilMonth*/,
4955  1 /*untilDay*/,
4956  0 /*untilTimeCode (0/15)*/,
4957  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4958  },
4959 
4960 };
4961 
4962 static const char kZoneNameAmerica_Cambridge_Bay[] ACE_TIME_PROGMEM = "\x02" "Cambridge_Bay";
4963 
4964 const complete::ZoneInfo kZoneAmerica_Cambridge_Bay ACE_TIME_PROGMEM = {
4965  kZoneNameAmerica_Cambridge_Bay /*name*/,
4966  0xd5a44aff /*zoneId*/,
4967  &kZoneContext /*zoneContext*/,
4968  6 /*numEras*/,
4969  kZoneEraAmerica_Cambridge_Bay /*eras*/,
4970  nullptr /*targetInfo*/,
4971 };
4972 
4973 //---------------------------------------------------------------------------
4974 // Zone name: America/Campo_Grande
4975 // Eras: 2
4976 //---------------------------------------------------------------------------
4977 
4978 static const complete::ZoneEra kZoneEraAmerica_Campo_Grande[] ACE_TIME_PROGMEM = {
4979  // -3:38:28 - LMT 1914
4980  {
4981  nullptr /*zonePolicy*/,
4982  "LMT" /*format*/,
4983  -874 /*offsetCode (-13108/15)*/,
4984  2 /*offsetRemainder (-13108%15)*/,
4985  0 /*deltaMinutes*/,
4986  1914 /*untilYear*/,
4987  1 /*untilMonth*/,
4988  1 /*untilDay*/,
4989  0 /*untilTimeCode (0/15)*/,
4990  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
4991  },
4992  // -4:00 Brazil %z
4993  {
4994  &kZonePolicyBrazil /*zonePolicy*/,
4995  "" /*format*/,
4996  -960 /*offsetCode (-14400/15)*/,
4997  0 /*offsetRemainder (-14400%15)*/,
4998  0 /*deltaMinutes*/,
4999  32767 /*untilYear*/,
5000  1 /*untilMonth*/,
5001  1 /*untilDay*/,
5002  0 /*untilTimeCode (0/15)*/,
5003  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5004  },
5005 
5006 };
5007 
5008 static const char kZoneNameAmerica_Campo_Grande[] ACE_TIME_PROGMEM = "\x02" "Campo_Grande";
5009 
5010 const complete::ZoneInfo kZoneAmerica_Campo_Grande ACE_TIME_PROGMEM = {
5011  kZoneNameAmerica_Campo_Grande /*name*/,
5012  0xfec3e7a6 /*zoneId*/,
5013  &kZoneContext /*zoneContext*/,
5014  2 /*numEras*/,
5015  kZoneEraAmerica_Campo_Grande /*eras*/,
5016  nullptr /*targetInfo*/,
5017 };
5018 
5019 //---------------------------------------------------------------------------
5020 // Zone name: America/Cancun
5021 // Eras: 7
5022 //---------------------------------------------------------------------------
5023 
5024 static const complete::ZoneEra kZoneEraAmerica_Cancun[] ACE_TIME_PROGMEM = {
5025  // -5:47:04 - LMT 1922 Jan 1 6:00u
5026  {
5027  nullptr /*zonePolicy*/,
5028  "LMT" /*format*/,
5029  -1389 /*offsetCode (-20824/15)*/,
5030  11 /*offsetRemainder (-20824%15)*/,
5031  0 /*deltaMinutes*/,
5032  1922 /*untilYear*/,
5033  1 /*untilMonth*/,
5034  1 /*untilDay*/,
5035  1440 /*untilTimeCode (21600/15)*/,
5036  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
5037  },
5038  // -6:00 - CST 1981 Dec 26 2:00
5039  {
5040  nullptr /*zonePolicy*/,
5041  "CST" /*format*/,
5042  -1440 /*offsetCode (-21600/15)*/,
5043  0 /*offsetRemainder (-21600%15)*/,
5044  0 /*deltaMinutes*/,
5045  1981 /*untilYear*/,
5046  12 /*untilMonth*/,
5047  26 /*untilDay*/,
5048  480 /*untilTimeCode (7200/15)*/,
5049  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5050  },
5051  // -5:00 - EST 1983 Jan 4 0:00
5052  {
5053  nullptr /*zonePolicy*/,
5054  "EST" /*format*/,
5055  -1200 /*offsetCode (-18000/15)*/,
5056  0 /*offsetRemainder (-18000%15)*/,
5057  0 /*deltaMinutes*/,
5058  1983 /*untilYear*/,
5059  1 /*untilMonth*/,
5060  4 /*untilDay*/,
5061  0 /*untilTimeCode (0/15)*/,
5062  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5063  },
5064  // -6:00 Mexico C%sT 1997 Oct 26 2:00
5065  {
5066  &kZonePolicyMexico /*zonePolicy*/,
5067  "C%T" /*format*/,
5068  -1440 /*offsetCode (-21600/15)*/,
5069  0 /*offsetRemainder (-21600%15)*/,
5070  0 /*deltaMinutes*/,
5071  1997 /*untilYear*/,
5072  10 /*untilMonth*/,
5073  26 /*untilDay*/,
5074  480 /*untilTimeCode (7200/15)*/,
5075  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5076  },
5077  // -5:00 Mexico E%sT 1998 Aug 2 2:00
5078  {
5079  &kZonePolicyMexico /*zonePolicy*/,
5080  "E%T" /*format*/,
5081  -1200 /*offsetCode (-18000/15)*/,
5082  0 /*offsetRemainder (-18000%15)*/,
5083  0 /*deltaMinutes*/,
5084  1998 /*untilYear*/,
5085  8 /*untilMonth*/,
5086  2 /*untilDay*/,
5087  480 /*untilTimeCode (7200/15)*/,
5088  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5089  },
5090  // -6:00 Mexico C%sT 2015 Feb 1 2:00
5091  {
5092  &kZonePolicyMexico /*zonePolicy*/,
5093  "C%T" /*format*/,
5094  -1440 /*offsetCode (-21600/15)*/,
5095  0 /*offsetRemainder (-21600%15)*/,
5096  0 /*deltaMinutes*/,
5097  2015 /*untilYear*/,
5098  2 /*untilMonth*/,
5099  1 /*untilDay*/,
5100  480 /*untilTimeCode (7200/15)*/,
5101  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5102  },
5103  // -5:00 - EST
5104  {
5105  nullptr /*zonePolicy*/,
5106  "EST" /*format*/,
5107  -1200 /*offsetCode (-18000/15)*/,
5108  0 /*offsetRemainder (-18000%15)*/,
5109  0 /*deltaMinutes*/,
5110  32767 /*untilYear*/,
5111  1 /*untilMonth*/,
5112  1 /*untilDay*/,
5113  0 /*untilTimeCode (0/15)*/,
5114  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5115  },
5116 
5117 };
5118 
5119 static const char kZoneNameAmerica_Cancun[] ACE_TIME_PROGMEM = "\x02" "Cancun";
5120 
5121 const complete::ZoneInfo kZoneAmerica_Cancun ACE_TIME_PROGMEM = {
5122  kZoneNameAmerica_Cancun /*name*/,
5123  0x953331be /*zoneId*/,
5124  &kZoneContext /*zoneContext*/,
5125  7 /*numEras*/,
5126  kZoneEraAmerica_Cancun /*eras*/,
5127  nullptr /*targetInfo*/,
5128 };
5129 
5130 //---------------------------------------------------------------------------
5131 // Zone name: America/Caracas
5132 // Eras: 6
5133 //---------------------------------------------------------------------------
5134 
5135 static const complete::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = {
5136  // -4:27:44 - LMT 1890
5137  {
5138  nullptr /*zonePolicy*/,
5139  "LMT" /*format*/,
5140  -1071 /*offsetCode (-16064/15)*/,
5141  1 /*offsetRemainder (-16064%15)*/,
5142  0 /*deltaMinutes*/,
5143  1890 /*untilYear*/,
5144  1 /*untilMonth*/,
5145  1 /*untilDay*/,
5146  0 /*untilTimeCode (0/15)*/,
5147  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5148  },
5149  // -4:27:40 - CMT 1912 Feb 12
5150  {
5151  nullptr /*zonePolicy*/,
5152  "CMT" /*format*/,
5153  -1071 /*offsetCode (-16060/15)*/,
5154  5 /*offsetRemainder (-16060%15)*/,
5155  0 /*deltaMinutes*/,
5156  1912 /*untilYear*/,
5157  2 /*untilMonth*/,
5158  12 /*untilDay*/,
5159  0 /*untilTimeCode (0/15)*/,
5160  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5161  },
5162  // -4:30 - %z 1965 Jan 1 0:00
5163  {
5164  nullptr /*zonePolicy*/,
5165  "" /*format*/,
5166  -1080 /*offsetCode (-16200/15)*/,
5167  0 /*offsetRemainder (-16200%15)*/,
5168  0 /*deltaMinutes*/,
5169  1965 /*untilYear*/,
5170  1 /*untilMonth*/,
5171  1 /*untilDay*/,
5172  0 /*untilTimeCode (0/15)*/,
5173  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5174  },
5175  // -4:00 - %z 2007 Dec 9 3:00
5176  {
5177  nullptr /*zonePolicy*/,
5178  "" /*format*/,
5179  -960 /*offsetCode (-14400/15)*/,
5180  0 /*offsetRemainder (-14400%15)*/,
5181  0 /*deltaMinutes*/,
5182  2007 /*untilYear*/,
5183  12 /*untilMonth*/,
5184  9 /*untilDay*/,
5185  720 /*untilTimeCode (10800/15)*/,
5186  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5187  },
5188  // -4:30 - %z 2016 May 1 2:30
5189  {
5190  nullptr /*zonePolicy*/,
5191  "" /*format*/,
5192  -1080 /*offsetCode (-16200/15)*/,
5193  0 /*offsetRemainder (-16200%15)*/,
5194  0 /*deltaMinutes*/,
5195  2016 /*untilYear*/,
5196  5 /*untilMonth*/,
5197  1 /*untilDay*/,
5198  600 /*untilTimeCode (9000/15)*/,
5199  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5200  },
5201  // -4:00 - %z
5202  {
5203  nullptr /*zonePolicy*/,
5204  "" /*format*/,
5205  -960 /*offsetCode (-14400/15)*/,
5206  0 /*offsetRemainder (-14400%15)*/,
5207  0 /*deltaMinutes*/,
5208  32767 /*untilYear*/,
5209  1 /*untilMonth*/,
5210  1 /*untilDay*/,
5211  0 /*untilTimeCode (0/15)*/,
5212  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5213  },
5214 
5215 };
5216 
5217 static const char kZoneNameAmerica_Caracas[] ACE_TIME_PROGMEM = "\x02" "Caracas";
5218 
5219 const complete::ZoneInfo kZoneAmerica_Caracas ACE_TIME_PROGMEM = {
5220  kZoneNameAmerica_Caracas /*name*/,
5221  0x3be064f4 /*zoneId*/,
5222  &kZoneContext /*zoneContext*/,
5223  6 /*numEras*/,
5224  kZoneEraAmerica_Caracas /*eras*/,
5225  nullptr /*targetInfo*/,
5226 };
5227 
5228 //---------------------------------------------------------------------------
5229 // Zone name: America/Cayenne
5230 // Eras: 3
5231 //---------------------------------------------------------------------------
5232 
5233 static const complete::ZoneEra kZoneEraAmerica_Cayenne[] ACE_TIME_PROGMEM = {
5234  // -3:29:20 - LMT 1911 Jul 1
5235  {
5236  nullptr /*zonePolicy*/,
5237  "LMT" /*format*/,
5238  -838 /*offsetCode (-12560/15)*/,
5239  10 /*offsetRemainder (-12560%15)*/,
5240  0 /*deltaMinutes*/,
5241  1911 /*untilYear*/,
5242  7 /*untilMonth*/,
5243  1 /*untilDay*/,
5244  0 /*untilTimeCode (0/15)*/,
5245  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5246  },
5247  // -4:00 - %z 1967 Oct
5248  {
5249  nullptr /*zonePolicy*/,
5250  "" /*format*/,
5251  -960 /*offsetCode (-14400/15)*/,
5252  0 /*offsetRemainder (-14400%15)*/,
5253  0 /*deltaMinutes*/,
5254  1967 /*untilYear*/,
5255  10 /*untilMonth*/,
5256  1 /*untilDay*/,
5257  0 /*untilTimeCode (0/15)*/,
5258  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5259  },
5260  // -3:00 - %z
5261  {
5262  nullptr /*zonePolicy*/,
5263  "" /*format*/,
5264  -720 /*offsetCode (-10800/15)*/,
5265  0 /*offsetRemainder (-10800%15)*/,
5266  0 /*deltaMinutes*/,
5267  32767 /*untilYear*/,
5268  1 /*untilMonth*/,
5269  1 /*untilDay*/,
5270  0 /*untilTimeCode (0/15)*/,
5271  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5272  },
5273 
5274 };
5275 
5276 static const char kZoneNameAmerica_Cayenne[] ACE_TIME_PROGMEM = "\x02" "Cayenne";
5277 
5278 const complete::ZoneInfo kZoneAmerica_Cayenne ACE_TIME_PROGMEM = {
5279  kZoneNameAmerica_Cayenne /*name*/,
5280  0x3c617269 /*zoneId*/,
5281  &kZoneContext /*zoneContext*/,
5282  3 /*numEras*/,
5283  kZoneEraAmerica_Cayenne /*eras*/,
5284  nullptr /*targetInfo*/,
5285 };
5286 
5287 //---------------------------------------------------------------------------
5288 // Zone name: America/Chicago
5289 // Eras: 8
5290 //---------------------------------------------------------------------------
5291 
5292 static const complete::ZoneEra kZoneEraAmerica_Chicago[] ACE_TIME_PROGMEM = {
5293  // -5:50:36 - LMT 1883 Nov 18 18:00u
5294  {
5295  nullptr /*zonePolicy*/,
5296  "LMT" /*format*/,
5297  -1403 /*offsetCode (-21036/15)*/,
5298  9 /*offsetRemainder (-21036%15)*/,
5299  0 /*deltaMinutes*/,
5300  1883 /*untilYear*/,
5301  11 /*untilMonth*/,
5302  18 /*untilDay*/,
5303  4320 /*untilTimeCode (64800/15)*/,
5304  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
5305  },
5306  // -6:00 US C%sT 1920
5307  {
5308  &kZonePolicyUS /*zonePolicy*/,
5309  "C%T" /*format*/,
5310  -1440 /*offsetCode (-21600/15)*/,
5311  0 /*offsetRemainder (-21600%15)*/,
5312  0 /*deltaMinutes*/,
5313  1920 /*untilYear*/,
5314  1 /*untilMonth*/,
5315  1 /*untilDay*/,
5316  0 /*untilTimeCode (0/15)*/,
5317  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5318  },
5319  // -6:00 Chicago C%sT 1936 Mar 1 2:00
5320  {
5321  &kZonePolicyChicago /*zonePolicy*/,
5322  "C%T" /*format*/,
5323  -1440 /*offsetCode (-21600/15)*/,
5324  0 /*offsetRemainder (-21600%15)*/,
5325  0 /*deltaMinutes*/,
5326  1936 /*untilYear*/,
5327  3 /*untilMonth*/,
5328  1 /*untilDay*/,
5329  480 /*untilTimeCode (7200/15)*/,
5330  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5331  },
5332  // -5:00 - EST 1936 Nov 15 2:00
5333  {
5334  nullptr /*zonePolicy*/,
5335  "EST" /*format*/,
5336  -1200 /*offsetCode (-18000/15)*/,
5337  0 /*offsetRemainder (-18000%15)*/,
5338  0 /*deltaMinutes*/,
5339  1936 /*untilYear*/,
5340  11 /*untilMonth*/,
5341  15 /*untilDay*/,
5342  480 /*untilTimeCode (7200/15)*/,
5343  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5344  },
5345  // -6:00 Chicago C%sT 1942
5346  {
5347  &kZonePolicyChicago /*zonePolicy*/,
5348  "C%T" /*format*/,
5349  -1440 /*offsetCode (-21600/15)*/,
5350  0 /*offsetRemainder (-21600%15)*/,
5351  0 /*deltaMinutes*/,
5352  1942 /*untilYear*/,
5353  1 /*untilMonth*/,
5354  1 /*untilDay*/,
5355  0 /*untilTimeCode (0/15)*/,
5356  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5357  },
5358  // -6:00 US C%sT 1946
5359  {
5360  &kZonePolicyUS /*zonePolicy*/,
5361  "C%T" /*format*/,
5362  -1440 /*offsetCode (-21600/15)*/,
5363  0 /*offsetRemainder (-21600%15)*/,
5364  0 /*deltaMinutes*/,
5365  1946 /*untilYear*/,
5366  1 /*untilMonth*/,
5367  1 /*untilDay*/,
5368  0 /*untilTimeCode (0/15)*/,
5369  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5370  },
5371  // -6:00 Chicago C%sT 1967
5372  {
5373  &kZonePolicyChicago /*zonePolicy*/,
5374  "C%T" /*format*/,
5375  -1440 /*offsetCode (-21600/15)*/,
5376  0 /*offsetRemainder (-21600%15)*/,
5377  0 /*deltaMinutes*/,
5378  1967 /*untilYear*/,
5379  1 /*untilMonth*/,
5380  1 /*untilDay*/,
5381  0 /*untilTimeCode (0/15)*/,
5382  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5383  },
5384  // -6:00 US C%sT
5385  {
5386  &kZonePolicyUS /*zonePolicy*/,
5387  "C%T" /*format*/,
5388  -1440 /*offsetCode (-21600/15)*/,
5389  0 /*offsetRemainder (-21600%15)*/,
5390  0 /*deltaMinutes*/,
5391  32767 /*untilYear*/,
5392  1 /*untilMonth*/,
5393  1 /*untilDay*/,
5394  0 /*untilTimeCode (0/15)*/,
5395  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5396  },
5397 
5398 };
5399 
5400 static const char kZoneNameAmerica_Chicago[] ACE_TIME_PROGMEM = "\x02" "Chicago";
5401 
5402 const complete::ZoneInfo kZoneAmerica_Chicago ACE_TIME_PROGMEM = {
5403  kZoneNameAmerica_Chicago /*name*/,
5404  0x4b92b5d4 /*zoneId*/,
5405  &kZoneContext /*zoneContext*/,
5406  8 /*numEras*/,
5407  kZoneEraAmerica_Chicago /*eras*/,
5408  nullptr /*targetInfo*/,
5409 };
5410 
5411 //---------------------------------------------------------------------------
5412 // Zone name: America/Chihuahua
5413 // Eras: 9
5414 //---------------------------------------------------------------------------
5415 
5416 static const complete::ZoneEra kZoneEraAmerica_Chihuahua[] ACE_TIME_PROGMEM = {
5417  // -7:04:20 - LMT 1922 Jan 1 7:00u
5418  {
5419  nullptr /*zonePolicy*/,
5420  "LMT" /*format*/,
5421  -1698 /*offsetCode (-25460/15)*/,
5422  10 /*offsetRemainder (-25460%15)*/,
5423  0 /*deltaMinutes*/,
5424  1922 /*untilYear*/,
5425  1 /*untilMonth*/,
5426  1 /*untilDay*/,
5427  1680 /*untilTimeCode (25200/15)*/,
5428  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
5429  },
5430  // -7:00 - MST 1927 Jun 10
5431  {
5432  nullptr /*zonePolicy*/,
5433  "MST" /*format*/,
5434  -1680 /*offsetCode (-25200/15)*/,
5435  0 /*offsetRemainder (-25200%15)*/,
5436  0 /*deltaMinutes*/,
5437  1927 /*untilYear*/,
5438  6 /*untilMonth*/,
5439  10 /*untilDay*/,
5440  0 /*untilTimeCode (0/15)*/,
5441  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5442  },
5443  // -6:00 - CST 1930 Nov 15
5444  {
5445  nullptr /*zonePolicy*/,
5446  "CST" /*format*/,
5447  -1440 /*offsetCode (-21600/15)*/,
5448  0 /*offsetRemainder (-21600%15)*/,
5449  0 /*deltaMinutes*/,
5450  1930 /*untilYear*/,
5451  11 /*untilMonth*/,
5452  15 /*untilDay*/,
5453  0 /*untilTimeCode (0/15)*/,
5454  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5455  },
5456  // -7:00 Mexico M%sT 1932 Apr 1
5457  {
5458  &kZonePolicyMexico /*zonePolicy*/,
5459  "M%T" /*format*/,
5460  -1680 /*offsetCode (-25200/15)*/,
5461  0 /*offsetRemainder (-25200%15)*/,
5462  0 /*deltaMinutes*/,
5463  1932 /*untilYear*/,
5464  4 /*untilMonth*/,
5465  1 /*untilDay*/,
5466  0 /*untilTimeCode (0/15)*/,
5467  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5468  },
5469  // -6:00 - CST 1996
5470  {
5471  nullptr /*zonePolicy*/,
5472  "CST" /*format*/,
5473  -1440 /*offsetCode (-21600/15)*/,
5474  0 /*offsetRemainder (-21600%15)*/,
5475  0 /*deltaMinutes*/,
5476  1996 /*untilYear*/,
5477  1 /*untilMonth*/,
5478  1 /*untilDay*/,
5479  0 /*untilTimeCode (0/15)*/,
5480  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5481  },
5482  // -6:00 Mexico C%sT 1998
5483  {
5484  &kZonePolicyMexico /*zonePolicy*/,
5485  "C%T" /*format*/,
5486  -1440 /*offsetCode (-21600/15)*/,
5487  0 /*offsetRemainder (-21600%15)*/,
5488  0 /*deltaMinutes*/,
5489  1998 /*untilYear*/,
5490  1 /*untilMonth*/,
5491  1 /*untilDay*/,
5492  0 /*untilTimeCode (0/15)*/,
5493  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5494  },
5495  // -6:00 - CST 1998 Apr Sun>=1 3:00
5496  {
5497  nullptr /*zonePolicy*/,
5498  "CST" /*format*/,
5499  -1440 /*offsetCode (-21600/15)*/,
5500  0 /*offsetRemainder (-21600%15)*/,
5501  0 /*deltaMinutes*/,
5502  1998 /*untilYear*/,
5503  4 /*untilMonth*/,
5504  5 /*untilDay*/,
5505  720 /*untilTimeCode (10800/15)*/,
5506  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5507  },
5508  // -7:00 Mexico M%sT 2022 Oct 30 2:00
5509  {
5510  &kZonePolicyMexico /*zonePolicy*/,
5511  "M%T" /*format*/,
5512  -1680 /*offsetCode (-25200/15)*/,
5513  0 /*offsetRemainder (-25200%15)*/,
5514  0 /*deltaMinutes*/,
5515  2022 /*untilYear*/,
5516  10 /*untilMonth*/,
5517  30 /*untilDay*/,
5518  480 /*untilTimeCode (7200/15)*/,
5519  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5520  },
5521  // -6:00 - CST
5522  {
5523  nullptr /*zonePolicy*/,
5524  "CST" /*format*/,
5525  -1440 /*offsetCode (-21600/15)*/,
5526  0 /*offsetRemainder (-21600%15)*/,
5527  0 /*deltaMinutes*/,
5528  32767 /*untilYear*/,
5529  1 /*untilMonth*/,
5530  1 /*untilDay*/,
5531  0 /*untilTimeCode (0/15)*/,
5532  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5533  },
5534 
5535 };
5536 
5537 static const char kZoneNameAmerica_Chihuahua[] ACE_TIME_PROGMEM = "\x02" "Chihuahua";
5538 
5539 const complete::ZoneInfo kZoneAmerica_Chihuahua ACE_TIME_PROGMEM = {
5540  kZoneNameAmerica_Chihuahua /*name*/,
5541  0x8827d776 /*zoneId*/,
5542  &kZoneContext /*zoneContext*/,
5543  9 /*numEras*/,
5544  kZoneEraAmerica_Chihuahua /*eras*/,
5545  nullptr /*targetInfo*/,
5546 };
5547 
5548 //---------------------------------------------------------------------------
5549 // Zone name: America/Ciudad_Juarez
5550 // Eras: 11
5551 //---------------------------------------------------------------------------
5552 
5553 static const complete::ZoneEra kZoneEraAmerica_Ciudad_Juarez[] ACE_TIME_PROGMEM = {
5554  // -7:05:56 - LMT 1922 Jan 1 7:00u
5555  {
5556  nullptr /*zonePolicy*/,
5557  "LMT" /*format*/,
5558  -1704 /*offsetCode (-25556/15)*/,
5559  4 /*offsetRemainder (-25556%15)*/,
5560  0 /*deltaMinutes*/,
5561  1922 /*untilYear*/,
5562  1 /*untilMonth*/,
5563  1 /*untilDay*/,
5564  1680 /*untilTimeCode (25200/15)*/,
5565  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
5566  },
5567  // -7:00 - MST 1927 Jun 10
5568  {
5569  nullptr /*zonePolicy*/,
5570  "MST" /*format*/,
5571  -1680 /*offsetCode (-25200/15)*/,
5572  0 /*offsetRemainder (-25200%15)*/,
5573  0 /*deltaMinutes*/,
5574  1927 /*untilYear*/,
5575  6 /*untilMonth*/,
5576  10 /*untilDay*/,
5577  0 /*untilTimeCode (0/15)*/,
5578  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5579  },
5580  // -6:00 - CST 1930 Nov 15
5581  {
5582  nullptr /*zonePolicy*/,
5583  "CST" /*format*/,
5584  -1440 /*offsetCode (-21600/15)*/,
5585  0 /*offsetRemainder (-21600%15)*/,
5586  0 /*deltaMinutes*/,
5587  1930 /*untilYear*/,
5588  11 /*untilMonth*/,
5589  15 /*untilDay*/,
5590  0 /*untilTimeCode (0/15)*/,
5591  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5592  },
5593  // -7:00 Mexico M%sT 1932 Apr 1
5594  {
5595  &kZonePolicyMexico /*zonePolicy*/,
5596  "M%T" /*format*/,
5597  -1680 /*offsetCode (-25200/15)*/,
5598  0 /*offsetRemainder (-25200%15)*/,
5599  0 /*deltaMinutes*/,
5600  1932 /*untilYear*/,
5601  4 /*untilMonth*/,
5602  1 /*untilDay*/,
5603  0 /*untilTimeCode (0/15)*/,
5604  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5605  },
5606  // -6:00 - CST 1996
5607  {
5608  nullptr /*zonePolicy*/,
5609  "CST" /*format*/,
5610  -1440 /*offsetCode (-21600/15)*/,
5611  0 /*offsetRemainder (-21600%15)*/,
5612  0 /*deltaMinutes*/,
5613  1996 /*untilYear*/,
5614  1 /*untilMonth*/,
5615  1 /*untilDay*/,
5616  0 /*untilTimeCode (0/15)*/,
5617  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5618  },
5619  // -6:00 Mexico C%sT 1998
5620  {
5621  &kZonePolicyMexico /*zonePolicy*/,
5622  "C%T" /*format*/,
5623  -1440 /*offsetCode (-21600/15)*/,
5624  0 /*offsetRemainder (-21600%15)*/,
5625  0 /*deltaMinutes*/,
5626  1998 /*untilYear*/,
5627  1 /*untilMonth*/,
5628  1 /*untilDay*/,
5629  0 /*untilTimeCode (0/15)*/,
5630  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5631  },
5632  // -6:00 - CST 1998 Apr Sun>=1 3:00
5633  {
5634  nullptr /*zonePolicy*/,
5635  "CST" /*format*/,
5636  -1440 /*offsetCode (-21600/15)*/,
5637  0 /*offsetRemainder (-21600%15)*/,
5638  0 /*deltaMinutes*/,
5639  1998 /*untilYear*/,
5640  4 /*untilMonth*/,
5641  5 /*untilDay*/,
5642  720 /*untilTimeCode (10800/15)*/,
5643  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5644  },
5645  // -7:00 Mexico M%sT 2010
5646  {
5647  &kZonePolicyMexico /*zonePolicy*/,
5648  "M%T" /*format*/,
5649  -1680 /*offsetCode (-25200/15)*/,
5650  0 /*offsetRemainder (-25200%15)*/,
5651  0 /*deltaMinutes*/,
5652  2010 /*untilYear*/,
5653  1 /*untilMonth*/,
5654  1 /*untilDay*/,
5655  0 /*untilTimeCode (0/15)*/,
5656  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5657  },
5658  // -7:00 US M%sT 2022 Oct 30 2:00
5659  {
5660  &kZonePolicyUS /*zonePolicy*/,
5661  "M%T" /*format*/,
5662  -1680 /*offsetCode (-25200/15)*/,
5663  0 /*offsetRemainder (-25200%15)*/,
5664  0 /*deltaMinutes*/,
5665  2022 /*untilYear*/,
5666  10 /*untilMonth*/,
5667  30 /*untilDay*/,
5668  480 /*untilTimeCode (7200/15)*/,
5669  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5670  },
5671  // -6:00 - CST 2022 Nov 30 0:00
5672  {
5673  nullptr /*zonePolicy*/,
5674  "CST" /*format*/,
5675  -1440 /*offsetCode (-21600/15)*/,
5676  0 /*offsetRemainder (-21600%15)*/,
5677  0 /*deltaMinutes*/,
5678  2022 /*untilYear*/,
5679  11 /*untilMonth*/,
5680  30 /*untilDay*/,
5681  0 /*untilTimeCode (0/15)*/,
5682  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5683  },
5684  // -7:00 US M%sT
5685  {
5686  &kZonePolicyUS /*zonePolicy*/,
5687  "M%T" /*format*/,
5688  -1680 /*offsetCode (-25200/15)*/,
5689  0 /*offsetRemainder (-25200%15)*/,
5690  0 /*deltaMinutes*/,
5691  32767 /*untilYear*/,
5692  1 /*untilMonth*/,
5693  1 /*untilDay*/,
5694  0 /*untilTimeCode (0/15)*/,
5695  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5696  },
5697 
5698 };
5699 
5700 static const char kZoneNameAmerica_Ciudad_Juarez[] ACE_TIME_PROGMEM = "\x02" "Ciudad_Juarez";
5701 
5702 const complete::ZoneInfo kZoneAmerica_Ciudad_Juarez ACE_TIME_PROGMEM = {
5703  kZoneNameAmerica_Ciudad_Juarez /*name*/,
5704  0x7347fc60 /*zoneId*/,
5705  &kZoneContext /*zoneContext*/,
5706  11 /*numEras*/,
5707  kZoneEraAmerica_Ciudad_Juarez /*eras*/,
5708  nullptr /*targetInfo*/,
5709 };
5710 
5711 //---------------------------------------------------------------------------
5712 // Zone name: America/Costa_Rica
5713 // Eras: 3
5714 //---------------------------------------------------------------------------
5715 
5716 static const complete::ZoneEra kZoneEraAmerica_Costa_Rica[] ACE_TIME_PROGMEM = {
5717  // -5:36:13 - LMT 1890
5718  {
5719  nullptr /*zonePolicy*/,
5720  "LMT" /*format*/,
5721  -1345 /*offsetCode (-20173/15)*/,
5722  2 /*offsetRemainder (-20173%15)*/,
5723  0 /*deltaMinutes*/,
5724  1890 /*untilYear*/,
5725  1 /*untilMonth*/,
5726  1 /*untilDay*/,
5727  0 /*untilTimeCode (0/15)*/,
5728  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5729  },
5730  // -5:36:13 - SJMT 1921 Jan 15
5731  {
5732  nullptr /*zonePolicy*/,
5733  "SJMT" /*format*/,
5734  -1345 /*offsetCode (-20173/15)*/,
5735  2 /*offsetRemainder (-20173%15)*/,
5736  0 /*deltaMinutes*/,
5737  1921 /*untilYear*/,
5738  1 /*untilMonth*/,
5739  15 /*untilDay*/,
5740  0 /*untilTimeCode (0/15)*/,
5741  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5742  },
5743  // -6:00 CR C%sT
5744  {
5745  &kZonePolicyCR /*zonePolicy*/,
5746  "C%T" /*format*/,
5747  -1440 /*offsetCode (-21600/15)*/,
5748  0 /*offsetRemainder (-21600%15)*/,
5749  0 /*deltaMinutes*/,
5750  32767 /*untilYear*/,
5751  1 /*untilMonth*/,
5752  1 /*untilDay*/,
5753  0 /*untilTimeCode (0/15)*/,
5754  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5755  },
5756 
5757 };
5758 
5759 static const char kZoneNameAmerica_Costa_Rica[] ACE_TIME_PROGMEM = "\x02" "Costa_Rica";
5760 
5761 const complete::ZoneInfo kZoneAmerica_Costa_Rica ACE_TIME_PROGMEM = {
5762  kZoneNameAmerica_Costa_Rica /*name*/,
5763  0x63ff66be /*zoneId*/,
5764  &kZoneContext /*zoneContext*/,
5765  3 /*numEras*/,
5766  kZoneEraAmerica_Costa_Rica /*eras*/,
5767  nullptr /*targetInfo*/,
5768 };
5769 
5770 //---------------------------------------------------------------------------
5771 // Zone name: America/Cuiaba
5772 // Eras: 4
5773 //---------------------------------------------------------------------------
5774 
5775 static const complete::ZoneEra kZoneEraAmerica_Cuiaba[] ACE_TIME_PROGMEM = {
5776  // -3:44:20 - LMT 1914
5777  {
5778  nullptr /*zonePolicy*/,
5779  "LMT" /*format*/,
5780  -898 /*offsetCode (-13460/15)*/,
5781  10 /*offsetRemainder (-13460%15)*/,
5782  0 /*deltaMinutes*/,
5783  1914 /*untilYear*/,
5784  1 /*untilMonth*/,
5785  1 /*untilDay*/,
5786  0 /*untilTimeCode (0/15)*/,
5787  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5788  },
5789  // -4:00 Brazil %z 2003 Sep 24
5790  {
5791  &kZonePolicyBrazil /*zonePolicy*/,
5792  "" /*format*/,
5793  -960 /*offsetCode (-14400/15)*/,
5794  0 /*offsetRemainder (-14400%15)*/,
5795  0 /*deltaMinutes*/,
5796  2003 /*untilYear*/,
5797  9 /*untilMonth*/,
5798  24 /*untilDay*/,
5799  0 /*untilTimeCode (0/15)*/,
5800  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5801  },
5802  // -4:00 - %z 2004 Oct 1
5803  {
5804  nullptr /*zonePolicy*/,
5805  "" /*format*/,
5806  -960 /*offsetCode (-14400/15)*/,
5807  0 /*offsetRemainder (-14400%15)*/,
5808  0 /*deltaMinutes*/,
5809  2004 /*untilYear*/,
5810  10 /*untilMonth*/,
5811  1 /*untilDay*/,
5812  0 /*untilTimeCode (0/15)*/,
5813  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5814  },
5815  // -4:00 Brazil %z
5816  {
5817  &kZonePolicyBrazil /*zonePolicy*/,
5818  "" /*format*/,
5819  -960 /*offsetCode (-14400/15)*/,
5820  0 /*offsetRemainder (-14400%15)*/,
5821  0 /*deltaMinutes*/,
5822  32767 /*untilYear*/,
5823  1 /*untilMonth*/,
5824  1 /*untilDay*/,
5825  0 /*untilTimeCode (0/15)*/,
5826  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5827  },
5828 
5829 };
5830 
5831 static const char kZoneNameAmerica_Cuiaba[] ACE_TIME_PROGMEM = "\x02" "Cuiaba";
5832 
5833 const complete::ZoneInfo kZoneAmerica_Cuiaba ACE_TIME_PROGMEM = {
5834  kZoneNameAmerica_Cuiaba /*name*/,
5835  0x969a52eb /*zoneId*/,
5836  &kZoneContext /*zoneContext*/,
5837  4 /*numEras*/,
5838  kZoneEraAmerica_Cuiaba /*eras*/,
5839  nullptr /*targetInfo*/,
5840 };
5841 
5842 //---------------------------------------------------------------------------
5843 // Zone name: America/Danmarkshavn
5844 // Eras: 4
5845 //---------------------------------------------------------------------------
5846 
5847 static const complete::ZoneEra kZoneEraAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = {
5848  // -1:14:40 - LMT 1916 Jul 28
5849  {
5850  nullptr /*zonePolicy*/,
5851  "LMT" /*format*/,
5852  -299 /*offsetCode (-4480/15)*/,
5853  5 /*offsetRemainder (-4480%15)*/,
5854  0 /*deltaMinutes*/,
5855  1916 /*untilYear*/,
5856  7 /*untilMonth*/,
5857  28 /*untilDay*/,
5858  0 /*untilTimeCode (0/15)*/,
5859  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5860  },
5861  // -3:00 - %z 1980 Apr 6 2:00
5862  {
5863  nullptr /*zonePolicy*/,
5864  "" /*format*/,
5865  -720 /*offsetCode (-10800/15)*/,
5866  0 /*offsetRemainder (-10800%15)*/,
5867  0 /*deltaMinutes*/,
5868  1980 /*untilYear*/,
5869  4 /*untilMonth*/,
5870  6 /*untilDay*/,
5871  480 /*untilTimeCode (7200/15)*/,
5872  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5873  },
5874  // -3:00 EU %z 1996
5875  {
5876  &kZonePolicyEU /*zonePolicy*/,
5877  "" /*format*/,
5878  -720 /*offsetCode (-10800/15)*/,
5879  0 /*offsetRemainder (-10800%15)*/,
5880  0 /*deltaMinutes*/,
5881  1996 /*untilYear*/,
5882  1 /*untilMonth*/,
5883  1 /*untilDay*/,
5884  0 /*untilTimeCode (0/15)*/,
5885  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5886  },
5887  // 0:00 - GMT
5888  {
5889  nullptr /*zonePolicy*/,
5890  "GMT" /*format*/,
5891  0 /*offsetCode (0/15)*/,
5892  0 /*offsetRemainder (0%15)*/,
5893  0 /*deltaMinutes*/,
5894  32767 /*untilYear*/,
5895  1 /*untilMonth*/,
5896  1 /*untilDay*/,
5897  0 /*untilTimeCode (0/15)*/,
5898  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5899  },
5900 
5901 };
5902 
5903 static const char kZoneNameAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = "\x02" "Danmarkshavn";
5904 
5905 const complete::ZoneInfo kZoneAmerica_Danmarkshavn ACE_TIME_PROGMEM = {
5906  kZoneNameAmerica_Danmarkshavn /*name*/,
5907  0xf554d204 /*zoneId*/,
5908  &kZoneContext /*zoneContext*/,
5909  4 /*numEras*/,
5910  kZoneEraAmerica_Danmarkshavn /*eras*/,
5911  nullptr /*targetInfo*/,
5912 };
5913 
5914 //---------------------------------------------------------------------------
5915 // Zone name: America/Dawson
5916 // Eras: 6
5917 //---------------------------------------------------------------------------
5918 
5919 static const complete::ZoneEra kZoneEraAmerica_Dawson[] ACE_TIME_PROGMEM = {
5920  // -9:17:40 - LMT 1900 Aug 20
5921  {
5922  nullptr /*zonePolicy*/,
5923  "LMT" /*format*/,
5924  -2231 /*offsetCode (-33460/15)*/,
5925  5 /*offsetRemainder (-33460%15)*/,
5926  0 /*deltaMinutes*/,
5927  1900 /*untilYear*/,
5928  8 /*untilMonth*/,
5929  20 /*untilDay*/,
5930  0 /*untilTimeCode (0/15)*/,
5931  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5932  },
5933  // -9:00 NT_YK Y%sT 1965
5934  {
5935  &kZonePolicyNT_YK /*zonePolicy*/,
5936  "Y%T" /*format*/,
5937  -2160 /*offsetCode (-32400/15)*/,
5938  0 /*offsetRemainder (-32400%15)*/,
5939  0 /*deltaMinutes*/,
5940  1965 /*untilYear*/,
5941  1 /*untilMonth*/,
5942  1 /*untilDay*/,
5943  0 /*untilTimeCode (0/15)*/,
5944  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5945  },
5946  // -9:00 Yukon Y%sT 1973 Oct 28 0:00
5947  {
5948  &kZonePolicyYukon /*zonePolicy*/,
5949  "Y%T" /*format*/,
5950  -2160 /*offsetCode (-32400/15)*/,
5951  0 /*offsetRemainder (-32400%15)*/,
5952  0 /*deltaMinutes*/,
5953  1973 /*untilYear*/,
5954  10 /*untilMonth*/,
5955  28 /*untilDay*/,
5956  0 /*untilTimeCode (0/15)*/,
5957  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5958  },
5959  // -8:00 - PST 1980
5960  {
5961  nullptr /*zonePolicy*/,
5962  "PST" /*format*/,
5963  -1920 /*offsetCode (-28800/15)*/,
5964  0 /*offsetRemainder (-28800%15)*/,
5965  0 /*deltaMinutes*/,
5966  1980 /*untilYear*/,
5967  1 /*untilMonth*/,
5968  1 /*untilDay*/,
5969  0 /*untilTimeCode (0/15)*/,
5970  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5971  },
5972  // -8:00 Canada P%sT 2020 Nov 1
5973  {
5974  &kZonePolicyCanada /*zonePolicy*/,
5975  "P%T" /*format*/,
5976  -1920 /*offsetCode (-28800/15)*/,
5977  0 /*offsetRemainder (-28800%15)*/,
5978  0 /*deltaMinutes*/,
5979  2020 /*untilYear*/,
5980  11 /*untilMonth*/,
5981  1 /*untilDay*/,
5982  0 /*untilTimeCode (0/15)*/,
5983  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5984  },
5985  // -7:00 - MST
5986  {
5987  nullptr /*zonePolicy*/,
5988  "MST" /*format*/,
5989  -1680 /*offsetCode (-25200/15)*/,
5990  0 /*offsetRemainder (-25200%15)*/,
5991  0 /*deltaMinutes*/,
5992  32767 /*untilYear*/,
5993  1 /*untilMonth*/,
5994  1 /*untilDay*/,
5995  0 /*untilTimeCode (0/15)*/,
5996  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
5997  },
5998 
5999 };
6000 
6001 static const char kZoneNameAmerica_Dawson[] ACE_TIME_PROGMEM = "\x02" "Dawson";
6002 
6003 const complete::ZoneInfo kZoneAmerica_Dawson ACE_TIME_PROGMEM = {
6004  kZoneNameAmerica_Dawson /*name*/,
6005  0x978d8d12 /*zoneId*/,
6006  &kZoneContext /*zoneContext*/,
6007  6 /*numEras*/,
6008  kZoneEraAmerica_Dawson /*eras*/,
6009  nullptr /*targetInfo*/,
6010 };
6011 
6012 //---------------------------------------------------------------------------
6013 // Zone name: America/Dawson_Creek
6014 // Eras: 4
6015 //---------------------------------------------------------------------------
6016 
6017 static const complete::ZoneEra kZoneEraAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = {
6018  // -8:00:56 - LMT 1884
6019  {
6020  nullptr /*zonePolicy*/,
6021  "LMT" /*format*/,
6022  -1924 /*offsetCode (-28856/15)*/,
6023  4 /*offsetRemainder (-28856%15)*/,
6024  0 /*deltaMinutes*/,
6025  1884 /*untilYear*/,
6026  1 /*untilMonth*/,
6027  1 /*untilDay*/,
6028  0 /*untilTimeCode (0/15)*/,
6029  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6030  },
6031  // -8:00 Canada P%sT 1947
6032  {
6033  &kZonePolicyCanada /*zonePolicy*/,
6034  "P%T" /*format*/,
6035  -1920 /*offsetCode (-28800/15)*/,
6036  0 /*offsetRemainder (-28800%15)*/,
6037  0 /*deltaMinutes*/,
6038  1947 /*untilYear*/,
6039  1 /*untilMonth*/,
6040  1 /*untilDay*/,
6041  0 /*untilTimeCode (0/15)*/,
6042  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6043  },
6044  // -8:00 Vanc P%sT 1972 Aug 30 2:00
6045  {
6046  &kZonePolicyVanc /*zonePolicy*/,
6047  "P%T" /*format*/,
6048  -1920 /*offsetCode (-28800/15)*/,
6049  0 /*offsetRemainder (-28800%15)*/,
6050  0 /*deltaMinutes*/,
6051  1972 /*untilYear*/,
6052  8 /*untilMonth*/,
6053  30 /*untilDay*/,
6054  480 /*untilTimeCode (7200/15)*/,
6055  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6056  },
6057  // -7:00 - MST
6058  {
6059  nullptr /*zonePolicy*/,
6060  "MST" /*format*/,
6061  -1680 /*offsetCode (-25200/15)*/,
6062  0 /*offsetRemainder (-25200%15)*/,
6063  0 /*deltaMinutes*/,
6064  32767 /*untilYear*/,
6065  1 /*untilMonth*/,
6066  1 /*untilDay*/,
6067  0 /*untilTimeCode (0/15)*/,
6068  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6069  },
6070 
6071 };
6072 
6073 static const char kZoneNameAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = "\x02" "Dawson_Creek";
6074 
6075 const complete::ZoneInfo kZoneAmerica_Dawson_Creek ACE_TIME_PROGMEM = {
6076  kZoneNameAmerica_Dawson_Creek /*name*/,
6077  0x6cf24e5b /*zoneId*/,
6078  &kZoneContext /*zoneContext*/,
6079  4 /*numEras*/,
6080  kZoneEraAmerica_Dawson_Creek /*eras*/,
6081  nullptr /*targetInfo*/,
6082 };
6083 
6084 //---------------------------------------------------------------------------
6085 // Zone name: America/Denver
6086 // Eras: 6
6087 //---------------------------------------------------------------------------
6088 
6089 static const complete::ZoneEra kZoneEraAmerica_Denver[] ACE_TIME_PROGMEM = {
6090  // -6:59:56 - LMT 1883 Nov 18 19:00u
6091  {
6092  nullptr /*zonePolicy*/,
6093  "LMT" /*format*/,
6094  -1680 /*offsetCode (-25196/15)*/,
6095  4 /*offsetRemainder (-25196%15)*/,
6096  0 /*deltaMinutes*/,
6097  1883 /*untilYear*/,
6098  11 /*untilMonth*/,
6099  18 /*untilDay*/,
6100  4560 /*untilTimeCode (68400/15)*/,
6101  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
6102  },
6103  // -7:00 US M%sT 1920
6104  {
6105  &kZonePolicyUS /*zonePolicy*/,
6106  "M%T" /*format*/,
6107  -1680 /*offsetCode (-25200/15)*/,
6108  0 /*offsetRemainder (-25200%15)*/,
6109  0 /*deltaMinutes*/,
6110  1920 /*untilYear*/,
6111  1 /*untilMonth*/,
6112  1 /*untilDay*/,
6113  0 /*untilTimeCode (0/15)*/,
6114  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6115  },
6116  // -7:00 Denver M%sT 1942
6117  {
6118  &kZonePolicyDenver /*zonePolicy*/,
6119  "M%T" /*format*/,
6120  -1680 /*offsetCode (-25200/15)*/,
6121  0 /*offsetRemainder (-25200%15)*/,
6122  0 /*deltaMinutes*/,
6123  1942 /*untilYear*/,
6124  1 /*untilMonth*/,
6125  1 /*untilDay*/,
6126  0 /*untilTimeCode (0/15)*/,
6127  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6128  },
6129  // -7:00 US M%sT 1946
6130  {
6131  &kZonePolicyUS /*zonePolicy*/,
6132  "M%T" /*format*/,
6133  -1680 /*offsetCode (-25200/15)*/,
6134  0 /*offsetRemainder (-25200%15)*/,
6135  0 /*deltaMinutes*/,
6136  1946 /*untilYear*/,
6137  1 /*untilMonth*/,
6138  1 /*untilDay*/,
6139  0 /*untilTimeCode (0/15)*/,
6140  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6141  },
6142  // -7:00 Denver M%sT 1967
6143  {
6144  &kZonePolicyDenver /*zonePolicy*/,
6145  "M%T" /*format*/,
6146  -1680 /*offsetCode (-25200/15)*/,
6147  0 /*offsetRemainder (-25200%15)*/,
6148  0 /*deltaMinutes*/,
6149  1967 /*untilYear*/,
6150  1 /*untilMonth*/,
6151  1 /*untilDay*/,
6152  0 /*untilTimeCode (0/15)*/,
6153  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6154  },
6155  // -7:00 US M%sT
6156  {
6157  &kZonePolicyUS /*zonePolicy*/,
6158  "M%T" /*format*/,
6159  -1680 /*offsetCode (-25200/15)*/,
6160  0 /*offsetRemainder (-25200%15)*/,
6161  0 /*deltaMinutes*/,
6162  32767 /*untilYear*/,
6163  1 /*untilMonth*/,
6164  1 /*untilDay*/,
6165  0 /*untilTimeCode (0/15)*/,
6166  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6167  },
6168 
6169 };
6170 
6171 static const char kZoneNameAmerica_Denver[] ACE_TIME_PROGMEM = "\x02" "Denver";
6172 
6173 const complete::ZoneInfo kZoneAmerica_Denver ACE_TIME_PROGMEM = {
6174  kZoneNameAmerica_Denver /*name*/,
6175  0x97d10b2a /*zoneId*/,
6176  &kZoneContext /*zoneContext*/,
6177  6 /*numEras*/,
6178  kZoneEraAmerica_Denver /*eras*/,
6179  nullptr /*targetInfo*/,
6180 };
6181 
6182 //---------------------------------------------------------------------------
6183 // Zone name: America/Detroit
6184 // Eras: 10
6185 //---------------------------------------------------------------------------
6186 
6187 static const complete::ZoneEra kZoneEraAmerica_Detroit[] ACE_TIME_PROGMEM = {
6188  // -5:32:11 - LMT 1905
6189  {
6190  nullptr /*zonePolicy*/,
6191  "LMT" /*format*/,
6192  -1329 /*offsetCode (-19931/15)*/,
6193  4 /*offsetRemainder (-19931%15)*/,
6194  0 /*deltaMinutes*/,
6195  1905 /*untilYear*/,
6196  1 /*untilMonth*/,
6197  1 /*untilDay*/,
6198  0 /*untilTimeCode (0/15)*/,
6199  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6200  },
6201  // -6:00 - CST 1915 May 15 2:00
6202  {
6203  nullptr /*zonePolicy*/,
6204  "CST" /*format*/,
6205  -1440 /*offsetCode (-21600/15)*/,
6206  0 /*offsetRemainder (-21600%15)*/,
6207  0 /*deltaMinutes*/,
6208  1915 /*untilYear*/,
6209  5 /*untilMonth*/,
6210  15 /*untilDay*/,
6211  480 /*untilTimeCode (7200/15)*/,
6212  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6213  },
6214  // -5:00 - EST 1942
6215  {
6216  nullptr /*zonePolicy*/,
6217  "EST" /*format*/,
6218  -1200 /*offsetCode (-18000/15)*/,
6219  0 /*offsetRemainder (-18000%15)*/,
6220  0 /*deltaMinutes*/,
6221  1942 /*untilYear*/,
6222  1 /*untilMonth*/,
6223  1 /*untilDay*/,
6224  0 /*untilTimeCode (0/15)*/,
6225  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6226  },
6227  // -5:00 US E%sT 1946
6228  {
6229  &kZonePolicyUS /*zonePolicy*/,
6230  "E%T" /*format*/,
6231  -1200 /*offsetCode (-18000/15)*/,
6232  0 /*offsetRemainder (-18000%15)*/,
6233  0 /*deltaMinutes*/,
6234  1946 /*untilYear*/,
6235  1 /*untilMonth*/,
6236  1 /*untilDay*/,
6237  0 /*untilTimeCode (0/15)*/,
6238  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6239  },
6240  // -5:00 Detroit E%sT 1967 Jun 14 0:01
6241  {
6242  &kZonePolicyDetroit /*zonePolicy*/,
6243  "E%T" /*format*/,
6244  -1200 /*offsetCode (-18000/15)*/,
6245  0 /*offsetRemainder (-18000%15)*/,
6246  0 /*deltaMinutes*/,
6247  1967 /*untilYear*/,
6248  6 /*untilMonth*/,
6249  14 /*untilDay*/,
6250  4 /*untilTimeCode (60/15)*/,
6251  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6252  },
6253  // -5:00 US E%sT 1969
6254  {
6255  &kZonePolicyUS /*zonePolicy*/,
6256  "E%T" /*format*/,
6257  -1200 /*offsetCode (-18000/15)*/,
6258  0 /*offsetRemainder (-18000%15)*/,
6259  0 /*deltaMinutes*/,
6260  1969 /*untilYear*/,
6261  1 /*untilMonth*/,
6262  1 /*untilDay*/,
6263  0 /*untilTimeCode (0/15)*/,
6264  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6265  },
6266  // -5:00 - EST 1973
6267  {
6268  nullptr /*zonePolicy*/,
6269  "EST" /*format*/,
6270  -1200 /*offsetCode (-18000/15)*/,
6271  0 /*offsetRemainder (-18000%15)*/,
6272  0 /*deltaMinutes*/,
6273  1973 /*untilYear*/,
6274  1 /*untilMonth*/,
6275  1 /*untilDay*/,
6276  0 /*untilTimeCode (0/15)*/,
6277  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6278  },
6279  // -5:00 US E%sT 1975
6280  {
6281  &kZonePolicyUS /*zonePolicy*/,
6282  "E%T" /*format*/,
6283  -1200 /*offsetCode (-18000/15)*/,
6284  0 /*offsetRemainder (-18000%15)*/,
6285  0 /*deltaMinutes*/,
6286  1975 /*untilYear*/,
6287  1 /*untilMonth*/,
6288  1 /*untilDay*/,
6289  0 /*untilTimeCode (0/15)*/,
6290  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6291  },
6292  // -5:00 - EST 1975 Apr 27 2:00
6293  {
6294  nullptr /*zonePolicy*/,
6295  "EST" /*format*/,
6296  -1200 /*offsetCode (-18000/15)*/,
6297  0 /*offsetRemainder (-18000%15)*/,
6298  0 /*deltaMinutes*/,
6299  1975 /*untilYear*/,
6300  4 /*untilMonth*/,
6301  27 /*untilDay*/,
6302  480 /*untilTimeCode (7200/15)*/,
6303  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6304  },
6305  // -5:00 US E%sT
6306  {
6307  &kZonePolicyUS /*zonePolicy*/,
6308  "E%T" /*format*/,
6309  -1200 /*offsetCode (-18000/15)*/,
6310  0 /*offsetRemainder (-18000%15)*/,
6311  0 /*deltaMinutes*/,
6312  32767 /*untilYear*/,
6313  1 /*untilMonth*/,
6314  1 /*untilDay*/,
6315  0 /*untilTimeCode (0/15)*/,
6316  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6317  },
6318 
6319 };
6320 
6321 static const char kZoneNameAmerica_Detroit[] ACE_TIME_PROGMEM = "\x02" "Detroit";
6322 
6323 const complete::ZoneInfo kZoneAmerica_Detroit ACE_TIME_PROGMEM = {
6324  kZoneNameAmerica_Detroit /*name*/,
6325  0x925cfbc1 /*zoneId*/,
6326  &kZoneContext /*zoneContext*/,
6327  10 /*numEras*/,
6328  kZoneEraAmerica_Detroit /*eras*/,
6329  nullptr /*targetInfo*/,
6330 };
6331 
6332 //---------------------------------------------------------------------------
6333 // Zone name: America/Edmonton
6334 // Eras: 3
6335 //---------------------------------------------------------------------------
6336 
6337 static const complete::ZoneEra kZoneEraAmerica_Edmonton[] ACE_TIME_PROGMEM = {
6338  // -7:33:52 - LMT 1906 Sep
6339  {
6340  nullptr /*zonePolicy*/,
6341  "LMT" /*format*/,
6342  -1816 /*offsetCode (-27232/15)*/,
6343  8 /*offsetRemainder (-27232%15)*/,
6344  0 /*deltaMinutes*/,
6345  1906 /*untilYear*/,
6346  9 /*untilMonth*/,
6347  1 /*untilDay*/,
6348  0 /*untilTimeCode (0/15)*/,
6349  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6350  },
6351  // -7:00 Edm M%sT 1987
6352  {
6353  &kZonePolicyEdm /*zonePolicy*/,
6354  "M%T" /*format*/,
6355  -1680 /*offsetCode (-25200/15)*/,
6356  0 /*offsetRemainder (-25200%15)*/,
6357  0 /*deltaMinutes*/,
6358  1987 /*untilYear*/,
6359  1 /*untilMonth*/,
6360  1 /*untilDay*/,
6361  0 /*untilTimeCode (0/15)*/,
6362  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6363  },
6364  // -7:00 Canada M%sT
6365  {
6366  &kZonePolicyCanada /*zonePolicy*/,
6367  "M%T" /*format*/,
6368  -1680 /*offsetCode (-25200/15)*/,
6369  0 /*offsetRemainder (-25200%15)*/,
6370  0 /*deltaMinutes*/,
6371  32767 /*untilYear*/,
6372  1 /*untilMonth*/,
6373  1 /*untilDay*/,
6374  0 /*untilTimeCode (0/15)*/,
6375  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6376  },
6377 
6378 };
6379 
6380 static const char kZoneNameAmerica_Edmonton[] ACE_TIME_PROGMEM = "\x02" "Edmonton";
6381 
6382 const complete::ZoneInfo kZoneAmerica_Edmonton ACE_TIME_PROGMEM = {
6383  kZoneNameAmerica_Edmonton /*name*/,
6384  0x6cb9484a /*zoneId*/,
6385  &kZoneContext /*zoneContext*/,
6386  3 /*numEras*/,
6387  kZoneEraAmerica_Edmonton /*eras*/,
6388  nullptr /*targetInfo*/,
6389 };
6390 
6391 //---------------------------------------------------------------------------
6392 // Zone name: America/Eirunepe
6393 // Eras: 7
6394 //---------------------------------------------------------------------------
6395 
6396 static const complete::ZoneEra kZoneEraAmerica_Eirunepe[] ACE_TIME_PROGMEM = {
6397  // -4:39:28 - LMT 1914
6398  {
6399  nullptr /*zonePolicy*/,
6400  "LMT" /*format*/,
6401  -1118 /*offsetCode (-16768/15)*/,
6402  2 /*offsetRemainder (-16768%15)*/,
6403  0 /*deltaMinutes*/,
6404  1914 /*untilYear*/,
6405  1 /*untilMonth*/,
6406  1 /*untilDay*/,
6407  0 /*untilTimeCode (0/15)*/,
6408  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6409  },
6410  // -5:00 Brazil %z 1988 Sep 12
6411  {
6412  &kZonePolicyBrazil /*zonePolicy*/,
6413  "" /*format*/,
6414  -1200 /*offsetCode (-18000/15)*/,
6415  0 /*offsetRemainder (-18000%15)*/,
6416  0 /*deltaMinutes*/,
6417  1988 /*untilYear*/,
6418  9 /*untilMonth*/,
6419  12 /*untilDay*/,
6420  0 /*untilTimeCode (0/15)*/,
6421  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6422  },
6423  // -5:00 - %z 1993 Sep 28
6424  {
6425  nullptr /*zonePolicy*/,
6426  "" /*format*/,
6427  -1200 /*offsetCode (-18000/15)*/,
6428  0 /*offsetRemainder (-18000%15)*/,
6429  0 /*deltaMinutes*/,
6430  1993 /*untilYear*/,
6431  9 /*untilMonth*/,
6432  28 /*untilDay*/,
6433  0 /*untilTimeCode (0/15)*/,
6434  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6435  },
6436  // -5:00 Brazil %z 1994 Sep 22
6437  {
6438  &kZonePolicyBrazil /*zonePolicy*/,
6439  "" /*format*/,
6440  -1200 /*offsetCode (-18000/15)*/,
6441  0 /*offsetRemainder (-18000%15)*/,
6442  0 /*deltaMinutes*/,
6443  1994 /*untilYear*/,
6444  9 /*untilMonth*/,
6445  22 /*untilDay*/,
6446  0 /*untilTimeCode (0/15)*/,
6447  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6448  },
6449  // -5:00 - %z 2008 Jun 24 0:00
6450  {
6451  nullptr /*zonePolicy*/,
6452  "" /*format*/,
6453  -1200 /*offsetCode (-18000/15)*/,
6454  0 /*offsetRemainder (-18000%15)*/,
6455  0 /*deltaMinutes*/,
6456  2008 /*untilYear*/,
6457  6 /*untilMonth*/,
6458  24 /*untilDay*/,
6459  0 /*untilTimeCode (0/15)*/,
6460  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6461  },
6462  // -4:00 - %z 2013 Nov 10
6463  {
6464  nullptr /*zonePolicy*/,
6465  "" /*format*/,
6466  -960 /*offsetCode (-14400/15)*/,
6467  0 /*offsetRemainder (-14400%15)*/,
6468  0 /*deltaMinutes*/,
6469  2013 /*untilYear*/,
6470  11 /*untilMonth*/,
6471  10 /*untilDay*/,
6472  0 /*untilTimeCode (0/15)*/,
6473  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6474  },
6475  // -5:00 - %z
6476  {
6477  nullptr /*zonePolicy*/,
6478  "" /*format*/,
6479  -1200 /*offsetCode (-18000/15)*/,
6480  0 /*offsetRemainder (-18000%15)*/,
6481  0 /*deltaMinutes*/,
6482  32767 /*untilYear*/,
6483  1 /*untilMonth*/,
6484  1 /*untilDay*/,
6485  0 /*untilTimeCode (0/15)*/,
6486  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6487  },
6488 
6489 };
6490 
6491 static const char kZoneNameAmerica_Eirunepe[] ACE_TIME_PROGMEM = "\x02" "Eirunepe";
6492 
6493 const complete::ZoneInfo kZoneAmerica_Eirunepe ACE_TIME_PROGMEM = {
6494  kZoneNameAmerica_Eirunepe /*name*/,
6495  0xf9b29683 /*zoneId*/,
6496  &kZoneContext /*zoneContext*/,
6497  7 /*numEras*/,
6498  kZoneEraAmerica_Eirunepe /*eras*/,
6499  nullptr /*targetInfo*/,
6500 };
6501 
6502 //---------------------------------------------------------------------------
6503 // Zone name: America/El_Salvador
6504 // Eras: 2
6505 //---------------------------------------------------------------------------
6506 
6507 static const complete::ZoneEra kZoneEraAmerica_El_Salvador[] ACE_TIME_PROGMEM = {
6508  // -5:56:48 - LMT 1921
6509  {
6510  nullptr /*zonePolicy*/,
6511  "LMT" /*format*/,
6512  -1428 /*offsetCode (-21408/15)*/,
6513  12 /*offsetRemainder (-21408%15)*/,
6514  0 /*deltaMinutes*/,
6515  1921 /*untilYear*/,
6516  1 /*untilMonth*/,
6517  1 /*untilDay*/,
6518  0 /*untilTimeCode (0/15)*/,
6519  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6520  },
6521  // -6:00 Salv C%sT
6522  {
6523  &kZonePolicySalv /*zonePolicy*/,
6524  "C%T" /*format*/,
6525  -1440 /*offsetCode (-21600/15)*/,
6526  0 /*offsetRemainder (-21600%15)*/,
6527  0 /*deltaMinutes*/,
6528  32767 /*untilYear*/,
6529  1 /*untilMonth*/,
6530  1 /*untilDay*/,
6531  0 /*untilTimeCode (0/15)*/,
6532  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6533  },
6534 
6535 };
6536 
6537 static const char kZoneNameAmerica_El_Salvador[] ACE_TIME_PROGMEM = "\x02" "El_Salvador";
6538 
6539 const complete::ZoneInfo kZoneAmerica_El_Salvador ACE_TIME_PROGMEM = {
6540  kZoneNameAmerica_El_Salvador /*name*/,
6541  0x752ad652 /*zoneId*/,
6542  &kZoneContext /*zoneContext*/,
6543  2 /*numEras*/,
6544  kZoneEraAmerica_El_Salvador /*eras*/,
6545  nullptr /*targetInfo*/,
6546 };
6547 
6548 //---------------------------------------------------------------------------
6549 // Zone name: America/Fort_Nelson
6550 // Eras: 6
6551 //---------------------------------------------------------------------------
6552 
6553 static const complete::ZoneEra kZoneEraAmerica_Fort_Nelson[] ACE_TIME_PROGMEM = {
6554  // -8:10:47 - LMT 1884
6555  {
6556  nullptr /*zonePolicy*/,
6557  "LMT" /*format*/,
6558  -1964 /*offsetCode (-29447/15)*/,
6559  13 /*offsetRemainder (-29447%15)*/,
6560  0 /*deltaMinutes*/,
6561  1884 /*untilYear*/,
6562  1 /*untilMonth*/,
6563  1 /*untilDay*/,
6564  0 /*untilTimeCode (0/15)*/,
6565  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6566  },
6567  // -8:00 Vanc P%sT 1946
6568  {
6569  &kZonePolicyVanc /*zonePolicy*/,
6570  "P%T" /*format*/,
6571  -1920 /*offsetCode (-28800/15)*/,
6572  0 /*offsetRemainder (-28800%15)*/,
6573  0 /*deltaMinutes*/,
6574  1946 /*untilYear*/,
6575  1 /*untilMonth*/,
6576  1 /*untilDay*/,
6577  0 /*untilTimeCode (0/15)*/,
6578  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6579  },
6580  // -8:00 - PST 1947
6581  {
6582  nullptr /*zonePolicy*/,
6583  "PST" /*format*/,
6584  -1920 /*offsetCode (-28800/15)*/,
6585  0 /*offsetRemainder (-28800%15)*/,
6586  0 /*deltaMinutes*/,
6587  1947 /*untilYear*/,
6588  1 /*untilMonth*/,
6589  1 /*untilDay*/,
6590  0 /*untilTimeCode (0/15)*/,
6591  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6592  },
6593  // -8:00 Vanc P%sT 1987
6594  {
6595  &kZonePolicyVanc /*zonePolicy*/,
6596  "P%T" /*format*/,
6597  -1920 /*offsetCode (-28800/15)*/,
6598  0 /*offsetRemainder (-28800%15)*/,
6599  0 /*deltaMinutes*/,
6600  1987 /*untilYear*/,
6601  1 /*untilMonth*/,
6602  1 /*untilDay*/,
6603  0 /*untilTimeCode (0/15)*/,
6604  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6605  },
6606  // -8:00 Canada P%sT 2015 Mar 8 2:00
6607  {
6608  &kZonePolicyCanada /*zonePolicy*/,
6609  "P%T" /*format*/,
6610  -1920 /*offsetCode (-28800/15)*/,
6611  0 /*offsetRemainder (-28800%15)*/,
6612  0 /*deltaMinutes*/,
6613  2015 /*untilYear*/,
6614  3 /*untilMonth*/,
6615  8 /*untilDay*/,
6616  480 /*untilTimeCode (7200/15)*/,
6617  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6618  },
6619  // -7:00 - MST
6620  {
6621  nullptr /*zonePolicy*/,
6622  "MST" /*format*/,
6623  -1680 /*offsetCode (-25200/15)*/,
6624  0 /*offsetRemainder (-25200%15)*/,
6625  0 /*deltaMinutes*/,
6626  32767 /*untilYear*/,
6627  1 /*untilMonth*/,
6628  1 /*untilDay*/,
6629  0 /*untilTimeCode (0/15)*/,
6630  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6631  },
6632 
6633 };
6634 
6635 static const char kZoneNameAmerica_Fort_Nelson[] ACE_TIME_PROGMEM = "\x02" "Fort_Nelson";
6636 
6637 const complete::ZoneInfo kZoneAmerica_Fort_Nelson ACE_TIME_PROGMEM = {
6638  kZoneNameAmerica_Fort_Nelson /*name*/,
6639  0x3f437e0f /*zoneId*/,
6640  &kZoneContext /*zoneContext*/,
6641  6 /*numEras*/,
6642  kZoneEraAmerica_Fort_Nelson /*eras*/,
6643  nullptr /*targetInfo*/,
6644 };
6645 
6646 //---------------------------------------------------------------------------
6647 // Zone name: America/Fortaleza
6648 // Eras: 7
6649 //---------------------------------------------------------------------------
6650 
6651 static const complete::ZoneEra kZoneEraAmerica_Fortaleza[] ACE_TIME_PROGMEM = {
6652  // -2:34:00 - LMT 1914
6653  {
6654  nullptr /*zonePolicy*/,
6655  "LMT" /*format*/,
6656  -616 /*offsetCode (-9240/15)*/,
6657  0 /*offsetRemainder (-9240%15)*/,
6658  0 /*deltaMinutes*/,
6659  1914 /*untilYear*/,
6660  1 /*untilMonth*/,
6661  1 /*untilDay*/,
6662  0 /*untilTimeCode (0/15)*/,
6663  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6664  },
6665  // -3:00 Brazil %z 1990 Sep 17
6666  {
6667  &kZonePolicyBrazil /*zonePolicy*/,
6668  "" /*format*/,
6669  -720 /*offsetCode (-10800/15)*/,
6670  0 /*offsetRemainder (-10800%15)*/,
6671  0 /*deltaMinutes*/,
6672  1990 /*untilYear*/,
6673  9 /*untilMonth*/,
6674  17 /*untilDay*/,
6675  0 /*untilTimeCode (0/15)*/,
6676  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6677  },
6678  // -3:00 - %z 1999 Sep 30
6679  {
6680  nullptr /*zonePolicy*/,
6681  "" /*format*/,
6682  -720 /*offsetCode (-10800/15)*/,
6683  0 /*offsetRemainder (-10800%15)*/,
6684  0 /*deltaMinutes*/,
6685  1999 /*untilYear*/,
6686  9 /*untilMonth*/,
6687  30 /*untilDay*/,
6688  0 /*untilTimeCode (0/15)*/,
6689  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6690  },
6691  // -3:00 Brazil %z 2000 Oct 22
6692  {
6693  &kZonePolicyBrazil /*zonePolicy*/,
6694  "" /*format*/,
6695  -720 /*offsetCode (-10800/15)*/,
6696  0 /*offsetRemainder (-10800%15)*/,
6697  0 /*deltaMinutes*/,
6698  2000 /*untilYear*/,
6699  10 /*untilMonth*/,
6700  22 /*untilDay*/,
6701  0 /*untilTimeCode (0/15)*/,
6702  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6703  },
6704  // -3:00 - %z 2001 Sep 13
6705  {
6706  nullptr /*zonePolicy*/,
6707  "" /*format*/,
6708  -720 /*offsetCode (-10800/15)*/,
6709  0 /*offsetRemainder (-10800%15)*/,
6710  0 /*deltaMinutes*/,
6711  2001 /*untilYear*/,
6712  9 /*untilMonth*/,
6713  13 /*untilDay*/,
6714  0 /*untilTimeCode (0/15)*/,
6715  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6716  },
6717  // -3:00 Brazil %z 2002 Oct 1
6718  {
6719  &kZonePolicyBrazil /*zonePolicy*/,
6720  "" /*format*/,
6721  -720 /*offsetCode (-10800/15)*/,
6722  0 /*offsetRemainder (-10800%15)*/,
6723  0 /*deltaMinutes*/,
6724  2002 /*untilYear*/,
6725  10 /*untilMonth*/,
6726  1 /*untilDay*/,
6727  0 /*untilTimeCode (0/15)*/,
6728  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6729  },
6730  // -3:00 - %z
6731  {
6732  nullptr /*zonePolicy*/,
6733  "" /*format*/,
6734  -720 /*offsetCode (-10800/15)*/,
6735  0 /*offsetRemainder (-10800%15)*/,
6736  0 /*deltaMinutes*/,
6737  32767 /*untilYear*/,
6738  1 /*untilMonth*/,
6739  1 /*untilDay*/,
6740  0 /*untilTimeCode (0/15)*/,
6741  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6742  },
6743 
6744 };
6745 
6746 static const char kZoneNameAmerica_Fortaleza[] ACE_TIME_PROGMEM = "\x02" "Fortaleza";
6747 
6748 const complete::ZoneInfo kZoneAmerica_Fortaleza ACE_TIME_PROGMEM = {
6749  kZoneNameAmerica_Fortaleza /*name*/,
6750  0x2ad018ee /*zoneId*/,
6751  &kZoneContext /*zoneContext*/,
6752  7 /*numEras*/,
6753  kZoneEraAmerica_Fortaleza /*eras*/,
6754  nullptr /*targetInfo*/,
6755 };
6756 
6757 //---------------------------------------------------------------------------
6758 // Zone name: America/Glace_Bay
6759 // Eras: 6
6760 //---------------------------------------------------------------------------
6761 
6762 static const complete::ZoneEra kZoneEraAmerica_Glace_Bay[] ACE_TIME_PROGMEM = {
6763  // -3:59:48 - LMT 1902 Jun 15
6764  {
6765  nullptr /*zonePolicy*/,
6766  "LMT" /*format*/,
6767  -960 /*offsetCode (-14388/15)*/,
6768  12 /*offsetRemainder (-14388%15)*/,
6769  0 /*deltaMinutes*/,
6770  1902 /*untilYear*/,
6771  6 /*untilMonth*/,
6772  15 /*untilDay*/,
6773  0 /*untilTimeCode (0/15)*/,
6774  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6775  },
6776  // -4:00 Canada A%sT 1953
6777  {
6778  &kZonePolicyCanada /*zonePolicy*/,
6779  "A%T" /*format*/,
6780  -960 /*offsetCode (-14400/15)*/,
6781  0 /*offsetRemainder (-14400%15)*/,
6782  0 /*deltaMinutes*/,
6783  1953 /*untilYear*/,
6784  1 /*untilMonth*/,
6785  1 /*untilDay*/,
6786  0 /*untilTimeCode (0/15)*/,
6787  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6788  },
6789  // -4:00 Halifax A%sT 1954
6790  {
6791  &kZonePolicyHalifax /*zonePolicy*/,
6792  "A%T" /*format*/,
6793  -960 /*offsetCode (-14400/15)*/,
6794  0 /*offsetRemainder (-14400%15)*/,
6795  0 /*deltaMinutes*/,
6796  1954 /*untilYear*/,
6797  1 /*untilMonth*/,
6798  1 /*untilDay*/,
6799  0 /*untilTimeCode (0/15)*/,
6800  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6801  },
6802  // -4:00 - AST 1972
6803  {
6804  nullptr /*zonePolicy*/,
6805  "AST" /*format*/,
6806  -960 /*offsetCode (-14400/15)*/,
6807  0 /*offsetRemainder (-14400%15)*/,
6808  0 /*deltaMinutes*/,
6809  1972 /*untilYear*/,
6810  1 /*untilMonth*/,
6811  1 /*untilDay*/,
6812  0 /*untilTimeCode (0/15)*/,
6813  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6814  },
6815  // -4:00 Halifax A%sT 1974
6816  {
6817  &kZonePolicyHalifax /*zonePolicy*/,
6818  "A%T" /*format*/,
6819  -960 /*offsetCode (-14400/15)*/,
6820  0 /*offsetRemainder (-14400%15)*/,
6821  0 /*deltaMinutes*/,
6822  1974 /*untilYear*/,
6823  1 /*untilMonth*/,
6824  1 /*untilDay*/,
6825  0 /*untilTimeCode (0/15)*/,
6826  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6827  },
6828  // -4:00 Canada A%sT
6829  {
6830  &kZonePolicyCanada /*zonePolicy*/,
6831  "A%T" /*format*/,
6832  -960 /*offsetCode (-14400/15)*/,
6833  0 /*offsetRemainder (-14400%15)*/,
6834  0 /*deltaMinutes*/,
6835  32767 /*untilYear*/,
6836  1 /*untilMonth*/,
6837  1 /*untilDay*/,
6838  0 /*untilTimeCode (0/15)*/,
6839  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6840  },
6841 
6842 };
6843 
6844 static const char kZoneNameAmerica_Glace_Bay[] ACE_TIME_PROGMEM = "\x02" "Glace_Bay";
6845 
6846 const complete::ZoneInfo kZoneAmerica_Glace_Bay ACE_TIME_PROGMEM = {
6847  kZoneNameAmerica_Glace_Bay /*name*/,
6848  0x9681f8dd /*zoneId*/,
6849  &kZoneContext /*zoneContext*/,
6850  6 /*numEras*/,
6851  kZoneEraAmerica_Glace_Bay /*eras*/,
6852  nullptr /*targetInfo*/,
6853 };
6854 
6855 //---------------------------------------------------------------------------
6856 // Zone name: America/Goose_Bay
6857 // Eras: 10
6858 //---------------------------------------------------------------------------
6859 
6860 static const complete::ZoneEra kZoneEraAmerica_Goose_Bay[] ACE_TIME_PROGMEM = {
6861  // -4:01:40 - LMT 1884
6862  {
6863  nullptr /*zonePolicy*/,
6864  "LMT" /*format*/,
6865  -967 /*offsetCode (-14500/15)*/,
6866  5 /*offsetRemainder (-14500%15)*/,
6867  0 /*deltaMinutes*/,
6868  1884 /*untilYear*/,
6869  1 /*untilMonth*/,
6870  1 /*untilDay*/,
6871  0 /*untilTimeCode (0/15)*/,
6872  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6873  },
6874  // -3:30:52 - NST 1918
6875  {
6876  nullptr /*zonePolicy*/,
6877  "NST" /*format*/,
6878  -844 /*offsetCode (-12652/15)*/,
6879  8 /*offsetRemainder (-12652%15)*/,
6880  0 /*deltaMinutes*/,
6881  1918 /*untilYear*/,
6882  1 /*untilMonth*/,
6883  1 /*untilDay*/,
6884  0 /*untilTimeCode (0/15)*/,
6885  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6886  },
6887  // -3:30:52 Canada N%sT 1919
6888  {
6889  &kZonePolicyCanada /*zonePolicy*/,
6890  "N%T" /*format*/,
6891  -844 /*offsetCode (-12652/15)*/,
6892  8 /*offsetRemainder (-12652%15)*/,
6893  0 /*deltaMinutes*/,
6894  1919 /*untilYear*/,
6895  1 /*untilMonth*/,
6896  1 /*untilDay*/,
6897  0 /*untilTimeCode (0/15)*/,
6898  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6899  },
6900  // -3:30:52 - NST 1935 Mar 30
6901  {
6902  nullptr /*zonePolicy*/,
6903  "NST" /*format*/,
6904  -844 /*offsetCode (-12652/15)*/,
6905  8 /*offsetRemainder (-12652%15)*/,
6906  0 /*deltaMinutes*/,
6907  1935 /*untilYear*/,
6908  3 /*untilMonth*/,
6909  30 /*untilDay*/,
6910  0 /*untilTimeCode (0/15)*/,
6911  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6912  },
6913  // -3:30 - NST 1936
6914  {
6915  nullptr /*zonePolicy*/,
6916  "NST" /*format*/,
6917  -840 /*offsetCode (-12600/15)*/,
6918  0 /*offsetRemainder (-12600%15)*/,
6919  0 /*deltaMinutes*/,
6920  1936 /*untilYear*/,
6921  1 /*untilMonth*/,
6922  1 /*untilDay*/,
6923  0 /*untilTimeCode (0/15)*/,
6924  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6925  },
6926  // -3:30 StJohns N%sT 1942 May 11
6927  {
6928  &kZonePolicyStJohns /*zonePolicy*/,
6929  "N%T" /*format*/,
6930  -840 /*offsetCode (-12600/15)*/,
6931  0 /*offsetRemainder (-12600%15)*/,
6932  0 /*deltaMinutes*/,
6933  1942 /*untilYear*/,
6934  5 /*untilMonth*/,
6935  11 /*untilDay*/,
6936  0 /*untilTimeCode (0/15)*/,
6937  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6938  },
6939  // -3:30 Canada N%sT 1946
6940  {
6941  &kZonePolicyCanada /*zonePolicy*/,
6942  "N%T" /*format*/,
6943  -840 /*offsetCode (-12600/15)*/,
6944  0 /*offsetRemainder (-12600%15)*/,
6945  0 /*deltaMinutes*/,
6946  1946 /*untilYear*/,
6947  1 /*untilMonth*/,
6948  1 /*untilDay*/,
6949  0 /*untilTimeCode (0/15)*/,
6950  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6951  },
6952  // -3:30 StJohns N%sT 1966 Mar 15 2:00
6953  {
6954  &kZonePolicyStJohns /*zonePolicy*/,
6955  "N%T" /*format*/,
6956  -840 /*offsetCode (-12600/15)*/,
6957  0 /*offsetRemainder (-12600%15)*/,
6958  0 /*deltaMinutes*/,
6959  1966 /*untilYear*/,
6960  3 /*untilMonth*/,
6961  15 /*untilDay*/,
6962  480 /*untilTimeCode (7200/15)*/,
6963  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6964  },
6965  // -4:00 StJohns A%sT 2011 Nov
6966  {
6967  &kZonePolicyStJohns /*zonePolicy*/,
6968  "A%T" /*format*/,
6969  -960 /*offsetCode (-14400/15)*/,
6970  0 /*offsetRemainder (-14400%15)*/,
6971  0 /*deltaMinutes*/,
6972  2011 /*untilYear*/,
6973  11 /*untilMonth*/,
6974  1 /*untilDay*/,
6975  0 /*untilTimeCode (0/15)*/,
6976  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6977  },
6978  // -4:00 Canada A%sT
6979  {
6980  &kZonePolicyCanada /*zonePolicy*/,
6981  "A%T" /*format*/,
6982  -960 /*offsetCode (-14400/15)*/,
6983  0 /*offsetRemainder (-14400%15)*/,
6984  0 /*deltaMinutes*/,
6985  32767 /*untilYear*/,
6986  1 /*untilMonth*/,
6987  1 /*untilDay*/,
6988  0 /*untilTimeCode (0/15)*/,
6989  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
6990  },
6991 
6992 };
6993 
6994 static const char kZoneNameAmerica_Goose_Bay[] ACE_TIME_PROGMEM = "\x02" "Goose_Bay";
6995 
6996 const complete::ZoneInfo kZoneAmerica_Goose_Bay ACE_TIME_PROGMEM = {
6997  kZoneNameAmerica_Goose_Bay /*name*/,
6998  0xb649541e /*zoneId*/,
6999  &kZoneContext /*zoneContext*/,
7000  10 /*numEras*/,
7001  kZoneEraAmerica_Goose_Bay /*eras*/,
7002  nullptr /*targetInfo*/,
7003 };
7004 
7005 //---------------------------------------------------------------------------
7006 // Zone name: America/Grand_Turk
7007 // Eras: 6
7008 //---------------------------------------------------------------------------
7009 
7010 static const complete::ZoneEra kZoneEraAmerica_Grand_Turk[] ACE_TIME_PROGMEM = {
7011  // -4:44:32 - LMT 1890
7012  {
7013  nullptr /*zonePolicy*/,
7014  "LMT" /*format*/,
7015  -1139 /*offsetCode (-17072/15)*/,
7016  13 /*offsetRemainder (-17072%15)*/,
7017  0 /*deltaMinutes*/,
7018  1890 /*untilYear*/,
7019  1 /*untilMonth*/,
7020  1 /*untilDay*/,
7021  0 /*untilTimeCode (0/15)*/,
7022  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7023  },
7024  // -5:07:10 - KMT 1912 Feb
7025  {
7026  nullptr /*zonePolicy*/,
7027  "KMT" /*format*/,
7028  -1229 /*offsetCode (-18430/15)*/,
7029  5 /*offsetRemainder (-18430%15)*/,
7030  0 /*deltaMinutes*/,
7031  1912 /*untilYear*/,
7032  2 /*untilMonth*/,
7033  1 /*untilDay*/,
7034  0 /*untilTimeCode (0/15)*/,
7035  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7036  },
7037  // -5:00 - EST 1979
7038  {
7039  nullptr /*zonePolicy*/,
7040  "EST" /*format*/,
7041  -1200 /*offsetCode (-18000/15)*/,
7042  0 /*offsetRemainder (-18000%15)*/,
7043  0 /*deltaMinutes*/,
7044  1979 /*untilYear*/,
7045  1 /*untilMonth*/,
7046  1 /*untilDay*/,
7047  0 /*untilTimeCode (0/15)*/,
7048  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7049  },
7050  // -5:00 US E%sT 2015 Mar 8 2:00
7051  {
7052  &kZonePolicyUS /*zonePolicy*/,
7053  "E%T" /*format*/,
7054  -1200 /*offsetCode (-18000/15)*/,
7055  0 /*offsetRemainder (-18000%15)*/,
7056  0 /*deltaMinutes*/,
7057  2015 /*untilYear*/,
7058  3 /*untilMonth*/,
7059  8 /*untilDay*/,
7060  480 /*untilTimeCode (7200/15)*/,
7061  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7062  },
7063  // -4:00 - AST 2018 Mar 11 3:00
7064  {
7065  nullptr /*zonePolicy*/,
7066  "AST" /*format*/,
7067  -960 /*offsetCode (-14400/15)*/,
7068  0 /*offsetRemainder (-14400%15)*/,
7069  0 /*deltaMinutes*/,
7070  2018 /*untilYear*/,
7071  3 /*untilMonth*/,
7072  11 /*untilDay*/,
7073  720 /*untilTimeCode (10800/15)*/,
7074  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7075  },
7076  // -5:00 US E%sT
7077  {
7078  &kZonePolicyUS /*zonePolicy*/,
7079  "E%T" /*format*/,
7080  -1200 /*offsetCode (-18000/15)*/,
7081  0 /*offsetRemainder (-18000%15)*/,
7082  0 /*deltaMinutes*/,
7083  32767 /*untilYear*/,
7084  1 /*untilMonth*/,
7085  1 /*untilDay*/,
7086  0 /*untilTimeCode (0/15)*/,
7087  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7088  },
7089 
7090 };
7091 
7092 static const char kZoneNameAmerica_Grand_Turk[] ACE_TIME_PROGMEM = "\x02" "Grand_Turk";
7093 
7094 const complete::ZoneInfo kZoneAmerica_Grand_Turk ACE_TIME_PROGMEM = {
7095  kZoneNameAmerica_Grand_Turk /*name*/,
7096  0x6e216197 /*zoneId*/,
7097  &kZoneContext /*zoneContext*/,
7098  6 /*numEras*/,
7099  kZoneEraAmerica_Grand_Turk /*eras*/,
7100  nullptr /*targetInfo*/,
7101 };
7102 
7103 //---------------------------------------------------------------------------
7104 // Zone name: America/Guatemala
7105 // Eras: 2
7106 //---------------------------------------------------------------------------
7107 
7108 static const complete::ZoneEra kZoneEraAmerica_Guatemala[] ACE_TIME_PROGMEM = {
7109  // -6:02:04 - LMT 1918 Oct 5
7110  {
7111  nullptr /*zonePolicy*/,
7112  "LMT" /*format*/,
7113  -1449 /*offsetCode (-21724/15)*/,
7114  11 /*offsetRemainder (-21724%15)*/,
7115  0 /*deltaMinutes*/,
7116  1918 /*untilYear*/,
7117  10 /*untilMonth*/,
7118  5 /*untilDay*/,
7119  0 /*untilTimeCode (0/15)*/,
7120  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7121  },
7122  // -6:00 Guat C%sT
7123  {
7124  &kZonePolicyGuat /*zonePolicy*/,
7125  "C%T" /*format*/,
7126  -1440 /*offsetCode (-21600/15)*/,
7127  0 /*offsetRemainder (-21600%15)*/,
7128  0 /*deltaMinutes*/,
7129  32767 /*untilYear*/,
7130  1 /*untilMonth*/,
7131  1 /*untilDay*/,
7132  0 /*untilTimeCode (0/15)*/,
7133  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7134  },
7135 
7136 };
7137 
7138 static const char kZoneNameAmerica_Guatemala[] ACE_TIME_PROGMEM = "\x02" "Guatemala";
7139 
7140 const complete::ZoneInfo kZoneAmerica_Guatemala ACE_TIME_PROGMEM = {
7141  kZoneNameAmerica_Guatemala /*name*/,
7142  0x0c8259f7 /*zoneId*/,
7143  &kZoneContext /*zoneContext*/,
7144  2 /*numEras*/,
7145  kZoneEraAmerica_Guatemala /*eras*/,
7146  nullptr /*targetInfo*/,
7147 };
7148 
7149 //---------------------------------------------------------------------------
7150 // Zone name: America/Guayaquil
7151 // Eras: 3
7152 //---------------------------------------------------------------------------
7153 
7154 static const complete::ZoneEra kZoneEraAmerica_Guayaquil[] ACE_TIME_PROGMEM = {
7155  // -5:19:20 - LMT 1890
7156  {
7157  nullptr /*zonePolicy*/,
7158  "LMT" /*format*/,
7159  -1278 /*offsetCode (-19160/15)*/,
7160  10 /*offsetRemainder (-19160%15)*/,
7161  0 /*deltaMinutes*/,
7162  1890 /*untilYear*/,
7163  1 /*untilMonth*/,
7164  1 /*untilDay*/,
7165  0 /*untilTimeCode (0/15)*/,
7166  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7167  },
7168  // -5:14:00 - QMT 1931
7169  {
7170  nullptr /*zonePolicy*/,
7171  "QMT" /*format*/,
7172  -1256 /*offsetCode (-18840/15)*/,
7173  0 /*offsetRemainder (-18840%15)*/,
7174  0 /*deltaMinutes*/,
7175  1931 /*untilYear*/,
7176  1 /*untilMonth*/,
7177  1 /*untilDay*/,
7178  0 /*untilTimeCode (0/15)*/,
7179  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7180  },
7181  // -5:00 Ecuador %z
7182  {
7183  &kZonePolicyEcuador /*zonePolicy*/,
7184  "" /*format*/,
7185  -1200 /*offsetCode (-18000/15)*/,
7186  0 /*offsetRemainder (-18000%15)*/,
7187  0 /*deltaMinutes*/,
7188  32767 /*untilYear*/,
7189  1 /*untilMonth*/,
7190  1 /*untilDay*/,
7191  0 /*untilTimeCode (0/15)*/,
7192  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7193  },
7194 
7195 };
7196 
7197 static const char kZoneNameAmerica_Guayaquil[] ACE_TIME_PROGMEM = "\x02" "Guayaquil";
7198 
7199 const complete::ZoneInfo kZoneAmerica_Guayaquil ACE_TIME_PROGMEM = {
7200  kZoneNameAmerica_Guayaquil /*name*/,
7201  0x17e64958 /*zoneId*/,
7202  &kZoneContext /*zoneContext*/,
7203  3 /*numEras*/,
7204  kZoneEraAmerica_Guayaquil /*eras*/,
7205  nullptr /*targetInfo*/,
7206 };
7207 
7208 //---------------------------------------------------------------------------
7209 // Zone name: America/Guyana
7210 // Eras: 5
7211 //---------------------------------------------------------------------------
7212 
7213 static const complete::ZoneEra kZoneEraAmerica_Guyana[] ACE_TIME_PROGMEM = {
7214  // -3:52:39 - LMT 1911 Aug 1
7215  {
7216  nullptr /*zonePolicy*/,
7217  "LMT" /*format*/,
7218  -931 /*offsetCode (-13959/15)*/,
7219  6 /*offsetRemainder (-13959%15)*/,
7220  0 /*deltaMinutes*/,
7221  1911 /*untilYear*/,
7222  8 /*untilMonth*/,
7223  1 /*untilDay*/,
7224  0 /*untilTimeCode (0/15)*/,
7225  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7226  },
7227  // -4:00 - %z 1915 Mar 1
7228  {
7229  nullptr /*zonePolicy*/,
7230  "" /*format*/,
7231  -960 /*offsetCode (-14400/15)*/,
7232  0 /*offsetRemainder (-14400%15)*/,
7233  0 /*deltaMinutes*/,
7234  1915 /*untilYear*/,
7235  3 /*untilMonth*/,
7236  1 /*untilDay*/,
7237  0 /*untilTimeCode (0/15)*/,
7238  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7239  },
7240  // -3:45 - %z 1975 Aug 1
7241  {
7242  nullptr /*zonePolicy*/,
7243  "" /*format*/,
7244  -900 /*offsetCode (-13500/15)*/,
7245  0 /*offsetRemainder (-13500%15)*/,
7246  0 /*deltaMinutes*/,
7247  1975 /*untilYear*/,
7248  8 /*untilMonth*/,
7249  1 /*untilDay*/,
7250  0 /*untilTimeCode (0/15)*/,
7251  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7252  },
7253  // -3:00 - %z 1992 Mar 29 1:00
7254  {
7255  nullptr /*zonePolicy*/,
7256  "" /*format*/,
7257  -720 /*offsetCode (-10800/15)*/,
7258  0 /*offsetRemainder (-10800%15)*/,
7259  0 /*deltaMinutes*/,
7260  1992 /*untilYear*/,
7261  3 /*untilMonth*/,
7262  29 /*untilDay*/,
7263  240 /*untilTimeCode (3600/15)*/,
7264  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7265  },
7266  // -4:00 - %z
7267  {
7268  nullptr /*zonePolicy*/,
7269  "" /*format*/,
7270  -960 /*offsetCode (-14400/15)*/,
7271  0 /*offsetRemainder (-14400%15)*/,
7272  0 /*deltaMinutes*/,
7273  32767 /*untilYear*/,
7274  1 /*untilMonth*/,
7275  1 /*untilDay*/,
7276  0 /*untilTimeCode (0/15)*/,
7277  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7278  },
7279 
7280 };
7281 
7282 static const char kZoneNameAmerica_Guyana[] ACE_TIME_PROGMEM = "\x02" "Guyana";
7283 
7284 const complete::ZoneInfo kZoneAmerica_Guyana ACE_TIME_PROGMEM = {
7285  kZoneNameAmerica_Guyana /*name*/,
7286  0x9ff7bd0b /*zoneId*/,
7287  &kZoneContext /*zoneContext*/,
7288  5 /*numEras*/,
7289  kZoneEraAmerica_Guyana /*eras*/,
7290  nullptr /*targetInfo*/,
7291 };
7292 
7293 //---------------------------------------------------------------------------
7294 // Zone name: America/Halifax
7295 // Eras: 7
7296 //---------------------------------------------------------------------------
7297 
7298 static const complete::ZoneEra kZoneEraAmerica_Halifax[] ACE_TIME_PROGMEM = {
7299  // -4:14:24 - LMT 1902 Jun 15
7300  {
7301  nullptr /*zonePolicy*/,
7302  "LMT" /*format*/,
7303  -1018 /*offsetCode (-15264/15)*/,
7304  6 /*offsetRemainder (-15264%15)*/,
7305  0 /*deltaMinutes*/,
7306  1902 /*untilYear*/,
7307  6 /*untilMonth*/,
7308  15 /*untilDay*/,
7309  0 /*untilTimeCode (0/15)*/,
7310  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7311  },
7312  // -4:00 Halifax A%sT 1918
7313  {
7314  &kZonePolicyHalifax /*zonePolicy*/,
7315  "A%T" /*format*/,
7316  -960 /*offsetCode (-14400/15)*/,
7317  0 /*offsetRemainder (-14400%15)*/,
7318  0 /*deltaMinutes*/,
7319  1918 /*untilYear*/,
7320  1 /*untilMonth*/,
7321  1 /*untilDay*/,
7322  0 /*untilTimeCode (0/15)*/,
7323  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7324  },
7325  // -4:00 Canada A%sT 1919
7326  {
7327  &kZonePolicyCanada /*zonePolicy*/,
7328  "A%T" /*format*/,
7329  -960 /*offsetCode (-14400/15)*/,
7330  0 /*offsetRemainder (-14400%15)*/,
7331  0 /*deltaMinutes*/,
7332  1919 /*untilYear*/,
7333  1 /*untilMonth*/,
7334  1 /*untilDay*/,
7335  0 /*untilTimeCode (0/15)*/,
7336  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7337  },
7338  // -4:00 Halifax A%sT 1942 Feb 9 2:00s
7339  {
7340  &kZonePolicyHalifax /*zonePolicy*/,
7341  "A%T" /*format*/,
7342  -960 /*offsetCode (-14400/15)*/,
7343  0 /*offsetRemainder (-14400%15)*/,
7344  0 /*deltaMinutes*/,
7345  1942 /*untilYear*/,
7346  2 /*untilMonth*/,
7347  9 /*untilDay*/,
7348  480 /*untilTimeCode (7200/15)*/,
7349  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
7350  },
7351  // -4:00 Canada A%sT 1946
7352  {
7353  &kZonePolicyCanada /*zonePolicy*/,
7354  "A%T" /*format*/,
7355  -960 /*offsetCode (-14400/15)*/,
7356  0 /*offsetRemainder (-14400%15)*/,
7357  0 /*deltaMinutes*/,
7358  1946 /*untilYear*/,
7359  1 /*untilMonth*/,
7360  1 /*untilDay*/,
7361  0 /*untilTimeCode (0/15)*/,
7362  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7363  },
7364  // -4:00 Halifax A%sT 1974
7365  {
7366  &kZonePolicyHalifax /*zonePolicy*/,
7367  "A%T" /*format*/,
7368  -960 /*offsetCode (-14400/15)*/,
7369  0 /*offsetRemainder (-14400%15)*/,
7370  0 /*deltaMinutes*/,
7371  1974 /*untilYear*/,
7372  1 /*untilMonth*/,
7373  1 /*untilDay*/,
7374  0 /*untilTimeCode (0/15)*/,
7375  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7376  },
7377  // -4:00 Canada A%sT
7378  {
7379  &kZonePolicyCanada /*zonePolicy*/,
7380  "A%T" /*format*/,
7381  -960 /*offsetCode (-14400/15)*/,
7382  0 /*offsetRemainder (-14400%15)*/,
7383  0 /*deltaMinutes*/,
7384  32767 /*untilYear*/,
7385  1 /*untilMonth*/,
7386  1 /*untilDay*/,
7387  0 /*untilTimeCode (0/15)*/,
7388  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7389  },
7390 
7391 };
7392 
7393 static const char kZoneNameAmerica_Halifax[] ACE_TIME_PROGMEM = "\x02" "Halifax";
7394 
7395 const complete::ZoneInfo kZoneAmerica_Halifax ACE_TIME_PROGMEM = {
7396  kZoneNameAmerica_Halifax /*name*/,
7397  0xbc5b7183 /*zoneId*/,
7398  &kZoneContext /*zoneContext*/,
7399  7 /*numEras*/,
7400  kZoneEraAmerica_Halifax /*eras*/,
7401  nullptr /*targetInfo*/,
7402 };
7403 
7404 //---------------------------------------------------------------------------
7405 // Zone name: America/Havana
7406 // Eras: 3
7407 //---------------------------------------------------------------------------
7408 
7409 static const complete::ZoneEra kZoneEraAmerica_Havana[] ACE_TIME_PROGMEM = {
7410  // -5:29:28 - LMT 1890
7411  {
7412  nullptr /*zonePolicy*/,
7413  "LMT" /*format*/,
7414  -1318 /*offsetCode (-19768/15)*/,
7415  2 /*offsetRemainder (-19768%15)*/,
7416  0 /*deltaMinutes*/,
7417  1890 /*untilYear*/,
7418  1 /*untilMonth*/,
7419  1 /*untilDay*/,
7420  0 /*untilTimeCode (0/15)*/,
7421  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7422  },
7423  // -5:29:36 - HMT 1925 Jul 19 12:00
7424  {
7425  nullptr /*zonePolicy*/,
7426  "HMT" /*format*/,
7427  -1319 /*offsetCode (-19776/15)*/,
7428  9 /*offsetRemainder (-19776%15)*/,
7429  0 /*deltaMinutes*/,
7430  1925 /*untilYear*/,
7431  7 /*untilMonth*/,
7432  19 /*untilDay*/,
7433  2880 /*untilTimeCode (43200/15)*/,
7434  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7435  },
7436  // -5:00 Cuba C%sT
7437  {
7438  &kZonePolicyCuba /*zonePolicy*/,
7439  "C%T" /*format*/,
7440  -1200 /*offsetCode (-18000/15)*/,
7441  0 /*offsetRemainder (-18000%15)*/,
7442  0 /*deltaMinutes*/,
7443  32767 /*untilYear*/,
7444  1 /*untilMonth*/,
7445  1 /*untilDay*/,
7446  0 /*untilTimeCode (0/15)*/,
7447  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7448  },
7449 
7450 };
7451 
7452 static const char kZoneNameAmerica_Havana[] ACE_TIME_PROGMEM = "\x02" "Havana";
7453 
7454 const complete::ZoneInfo kZoneAmerica_Havana ACE_TIME_PROGMEM = {
7455  kZoneNameAmerica_Havana /*name*/,
7456  0xa0e15675 /*zoneId*/,
7457  &kZoneContext /*zoneContext*/,
7458  3 /*numEras*/,
7459  kZoneEraAmerica_Havana /*eras*/,
7460  nullptr /*targetInfo*/,
7461 };
7462 
7463 //---------------------------------------------------------------------------
7464 // Zone name: America/Hermosillo
7465 // Eras: 8
7466 //---------------------------------------------------------------------------
7467 
7468 static const complete::ZoneEra kZoneEraAmerica_Hermosillo[] ACE_TIME_PROGMEM = {
7469  // -7:23:52 - LMT 1922 Jan 1 7:00u
7470  {
7471  nullptr /*zonePolicy*/,
7472  "LMT" /*format*/,
7473  -1776 /*offsetCode (-26632/15)*/,
7474  8 /*offsetRemainder (-26632%15)*/,
7475  0 /*deltaMinutes*/,
7476  1922 /*untilYear*/,
7477  1 /*untilMonth*/,
7478  1 /*untilDay*/,
7479  1680 /*untilTimeCode (25200/15)*/,
7480  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
7481  },
7482  // -7:00 - MST 1927 Jun 10
7483  {
7484  nullptr /*zonePolicy*/,
7485  "MST" /*format*/,
7486  -1680 /*offsetCode (-25200/15)*/,
7487  0 /*offsetRemainder (-25200%15)*/,
7488  0 /*deltaMinutes*/,
7489  1927 /*untilYear*/,
7490  6 /*untilMonth*/,
7491  10 /*untilDay*/,
7492  0 /*untilTimeCode (0/15)*/,
7493  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7494  },
7495  // -6:00 - CST 1930 Nov 15
7496  {
7497  nullptr /*zonePolicy*/,
7498  "CST" /*format*/,
7499  -1440 /*offsetCode (-21600/15)*/,
7500  0 /*offsetRemainder (-21600%15)*/,
7501  0 /*deltaMinutes*/,
7502  1930 /*untilYear*/,
7503  11 /*untilMonth*/,
7504  15 /*untilDay*/,
7505  0 /*untilTimeCode (0/15)*/,
7506  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7507  },
7508  // -7:00 Mexico M%sT 1932 Apr 1
7509  {
7510  &kZonePolicyMexico /*zonePolicy*/,
7511  "M%T" /*format*/,
7512  -1680 /*offsetCode (-25200/15)*/,
7513  0 /*offsetRemainder (-25200%15)*/,
7514  0 /*deltaMinutes*/,
7515  1932 /*untilYear*/,
7516  4 /*untilMonth*/,
7517  1 /*untilDay*/,
7518  0 /*untilTimeCode (0/15)*/,
7519  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7520  },
7521  // -6:00 - CST 1942 Apr 24
7522  {
7523  nullptr /*zonePolicy*/,
7524  "CST" /*format*/,
7525  -1440 /*offsetCode (-21600/15)*/,
7526  0 /*offsetRemainder (-21600%15)*/,
7527  0 /*deltaMinutes*/,
7528  1942 /*untilYear*/,
7529  4 /*untilMonth*/,
7530  24 /*untilDay*/,
7531  0 /*untilTimeCode (0/15)*/,
7532  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7533  },
7534  // -7:00 - MST 1996
7535  {
7536  nullptr /*zonePolicy*/,
7537  "MST" /*format*/,
7538  -1680 /*offsetCode (-25200/15)*/,
7539  0 /*offsetRemainder (-25200%15)*/,
7540  0 /*deltaMinutes*/,
7541  1996 /*untilYear*/,
7542  1 /*untilMonth*/,
7543  1 /*untilDay*/,
7544  0 /*untilTimeCode (0/15)*/,
7545  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7546  },
7547  // -7:00 Mexico M%sT 1999
7548  {
7549  &kZonePolicyMexico /*zonePolicy*/,
7550  "M%T" /*format*/,
7551  -1680 /*offsetCode (-25200/15)*/,
7552  0 /*offsetRemainder (-25200%15)*/,
7553  0 /*deltaMinutes*/,
7554  1999 /*untilYear*/,
7555  1 /*untilMonth*/,
7556  1 /*untilDay*/,
7557  0 /*untilTimeCode (0/15)*/,
7558  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7559  },
7560  // -7:00 - MST
7561  {
7562  nullptr /*zonePolicy*/,
7563  "MST" /*format*/,
7564  -1680 /*offsetCode (-25200/15)*/,
7565  0 /*offsetRemainder (-25200%15)*/,
7566  0 /*deltaMinutes*/,
7567  32767 /*untilYear*/,
7568  1 /*untilMonth*/,
7569  1 /*untilDay*/,
7570  0 /*untilTimeCode (0/15)*/,
7571  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7572  },
7573 
7574 };
7575 
7576 static const char kZoneNameAmerica_Hermosillo[] ACE_TIME_PROGMEM = "\x02" "Hermosillo";
7577 
7578 const complete::ZoneInfo kZoneAmerica_Hermosillo ACE_TIME_PROGMEM = {
7579  kZoneNameAmerica_Hermosillo /*name*/,
7580  0x065d21c4 /*zoneId*/,
7581  &kZoneContext /*zoneContext*/,
7582  8 /*numEras*/,
7583  kZoneEraAmerica_Hermosillo /*eras*/,
7584  nullptr /*targetInfo*/,
7585 };
7586 
7587 //---------------------------------------------------------------------------
7588 // Zone name: America/Indiana/Indianapolis
7589 // Eras: 11
7590 //---------------------------------------------------------------------------
7591 
7592 static const complete::ZoneEra kZoneEraAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = {
7593  // -5:44:38 - LMT 1883 Nov 18 18:00u
7594  {
7595  nullptr /*zonePolicy*/,
7596  "LMT" /*format*/,
7597  -1379 /*offsetCode (-20678/15)*/,
7598  7 /*offsetRemainder (-20678%15)*/,
7599  0 /*deltaMinutes*/,
7600  1883 /*untilYear*/,
7601  11 /*untilMonth*/,
7602  18 /*untilDay*/,
7603  4320 /*untilTimeCode (64800/15)*/,
7604  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
7605  },
7606  // -6:00 US C%sT 1920
7607  {
7608  &kZonePolicyUS /*zonePolicy*/,
7609  "C%T" /*format*/,
7610  -1440 /*offsetCode (-21600/15)*/,
7611  0 /*offsetRemainder (-21600%15)*/,
7612  0 /*deltaMinutes*/,
7613  1920 /*untilYear*/,
7614  1 /*untilMonth*/,
7615  1 /*untilDay*/,
7616  0 /*untilTimeCode (0/15)*/,
7617  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7618  },
7619  // -6:00 Indianapolis C%sT 1942
7620  {
7621  &kZonePolicyIndianapolis /*zonePolicy*/,
7622  "C%T" /*format*/,
7623  -1440 /*offsetCode (-21600/15)*/,
7624  0 /*offsetRemainder (-21600%15)*/,
7625  0 /*deltaMinutes*/,
7626  1942 /*untilYear*/,
7627  1 /*untilMonth*/,
7628  1 /*untilDay*/,
7629  0 /*untilTimeCode (0/15)*/,
7630  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7631  },
7632  // -6:00 US C%sT 1946
7633  {
7634  &kZonePolicyUS /*zonePolicy*/,
7635  "C%T" /*format*/,
7636  -1440 /*offsetCode (-21600/15)*/,
7637  0 /*offsetRemainder (-21600%15)*/,
7638  0 /*deltaMinutes*/,
7639  1946 /*untilYear*/,
7640  1 /*untilMonth*/,
7641  1 /*untilDay*/,
7642  0 /*untilTimeCode (0/15)*/,
7643  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7644  },
7645  // -6:00 Indianapolis C%sT 1955 Apr 24 2:00
7646  {
7647  &kZonePolicyIndianapolis /*zonePolicy*/,
7648  "C%T" /*format*/,
7649  -1440 /*offsetCode (-21600/15)*/,
7650  0 /*offsetRemainder (-21600%15)*/,
7651  0 /*deltaMinutes*/,
7652  1955 /*untilYear*/,
7653  4 /*untilMonth*/,
7654  24 /*untilDay*/,
7655  480 /*untilTimeCode (7200/15)*/,
7656  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7657  },
7658  // -5:00 - EST 1957 Sep 29 2:00
7659  {
7660  nullptr /*zonePolicy*/,
7661  "EST" /*format*/,
7662  -1200 /*offsetCode (-18000/15)*/,
7663  0 /*offsetRemainder (-18000%15)*/,
7664  0 /*deltaMinutes*/,
7665  1957 /*untilYear*/,
7666  9 /*untilMonth*/,
7667  29 /*untilDay*/,
7668  480 /*untilTimeCode (7200/15)*/,
7669  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7670  },
7671  // -6:00 - CST 1958 Apr 27 2:00
7672  {
7673  nullptr /*zonePolicy*/,
7674  "CST" /*format*/,
7675  -1440 /*offsetCode (-21600/15)*/,
7676  0 /*offsetRemainder (-21600%15)*/,
7677  0 /*deltaMinutes*/,
7678  1958 /*untilYear*/,
7679  4 /*untilMonth*/,
7680  27 /*untilDay*/,
7681  480 /*untilTimeCode (7200/15)*/,
7682  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7683  },
7684  // -5:00 - EST 1969
7685  {
7686  nullptr /*zonePolicy*/,
7687  "EST" /*format*/,
7688  -1200 /*offsetCode (-18000/15)*/,
7689  0 /*offsetRemainder (-18000%15)*/,
7690  0 /*deltaMinutes*/,
7691  1969 /*untilYear*/,
7692  1 /*untilMonth*/,
7693  1 /*untilDay*/,
7694  0 /*untilTimeCode (0/15)*/,
7695  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7696  },
7697  // -5:00 US E%sT 1971
7698  {
7699  &kZonePolicyUS /*zonePolicy*/,
7700  "E%T" /*format*/,
7701  -1200 /*offsetCode (-18000/15)*/,
7702  0 /*offsetRemainder (-18000%15)*/,
7703  0 /*deltaMinutes*/,
7704  1971 /*untilYear*/,
7705  1 /*untilMonth*/,
7706  1 /*untilDay*/,
7707  0 /*untilTimeCode (0/15)*/,
7708  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7709  },
7710  // -5:00 - EST 2006
7711  {
7712  nullptr /*zonePolicy*/,
7713  "EST" /*format*/,
7714  -1200 /*offsetCode (-18000/15)*/,
7715  0 /*offsetRemainder (-18000%15)*/,
7716  0 /*deltaMinutes*/,
7717  2006 /*untilYear*/,
7718  1 /*untilMonth*/,
7719  1 /*untilDay*/,
7720  0 /*untilTimeCode (0/15)*/,
7721  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7722  },
7723  // -5:00 US E%sT
7724  {
7725  &kZonePolicyUS /*zonePolicy*/,
7726  "E%T" /*format*/,
7727  -1200 /*offsetCode (-18000/15)*/,
7728  0 /*offsetRemainder (-18000%15)*/,
7729  0 /*deltaMinutes*/,
7730  32767 /*untilYear*/,
7731  1 /*untilMonth*/,
7732  1 /*untilDay*/,
7733  0 /*untilTimeCode (0/15)*/,
7734  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7735  },
7736 
7737 };
7738 
7739 static const char kZoneNameAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Indianapolis";
7740 
7741 const complete::ZoneInfo kZoneAmerica_Indiana_Indianapolis ACE_TIME_PROGMEM = {
7742  kZoneNameAmerica_Indiana_Indianapolis /*name*/,
7743  0x28a669a4 /*zoneId*/,
7744  &kZoneContext /*zoneContext*/,
7745  11 /*numEras*/,
7746  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
7747  nullptr /*targetInfo*/,
7748 };
7749 
7750 //---------------------------------------------------------------------------
7751 // Zone name: America/Indiana/Knox
7752 // Eras: 7
7753 //---------------------------------------------------------------------------
7754 
7755 static const complete::ZoneEra kZoneEraAmerica_Indiana_Knox[] ACE_TIME_PROGMEM = {
7756  // -5:46:30 - LMT 1883 Nov 18 18:00u
7757  {
7758  nullptr /*zonePolicy*/,
7759  "LMT" /*format*/,
7760  -1386 /*offsetCode (-20790/15)*/,
7761  0 /*offsetRemainder (-20790%15)*/,
7762  0 /*deltaMinutes*/,
7763  1883 /*untilYear*/,
7764  11 /*untilMonth*/,
7765  18 /*untilDay*/,
7766  4320 /*untilTimeCode (64800/15)*/,
7767  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
7768  },
7769  // -6:00 US C%sT 1947
7770  {
7771  &kZonePolicyUS /*zonePolicy*/,
7772  "C%T" /*format*/,
7773  -1440 /*offsetCode (-21600/15)*/,
7774  0 /*offsetRemainder (-21600%15)*/,
7775  0 /*deltaMinutes*/,
7776  1947 /*untilYear*/,
7777  1 /*untilMonth*/,
7778  1 /*untilDay*/,
7779  0 /*untilTimeCode (0/15)*/,
7780  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7781  },
7782  // -6:00 Starke C%sT 1962 Apr 29 2:00
7783  {
7784  &kZonePolicyStarke /*zonePolicy*/,
7785  "C%T" /*format*/,
7786  -1440 /*offsetCode (-21600/15)*/,
7787  0 /*offsetRemainder (-21600%15)*/,
7788  0 /*deltaMinutes*/,
7789  1962 /*untilYear*/,
7790  4 /*untilMonth*/,
7791  29 /*untilDay*/,
7792  480 /*untilTimeCode (7200/15)*/,
7793  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7794  },
7795  // -5:00 - EST 1963 Oct 27 2:00
7796  {
7797  nullptr /*zonePolicy*/,
7798  "EST" /*format*/,
7799  -1200 /*offsetCode (-18000/15)*/,
7800  0 /*offsetRemainder (-18000%15)*/,
7801  0 /*deltaMinutes*/,
7802  1963 /*untilYear*/,
7803  10 /*untilMonth*/,
7804  27 /*untilDay*/,
7805  480 /*untilTimeCode (7200/15)*/,
7806  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7807  },
7808  // -6:00 US C%sT 1991 Oct 27 2:00
7809  {
7810  &kZonePolicyUS /*zonePolicy*/,
7811  "C%T" /*format*/,
7812  -1440 /*offsetCode (-21600/15)*/,
7813  0 /*offsetRemainder (-21600%15)*/,
7814  0 /*deltaMinutes*/,
7815  1991 /*untilYear*/,
7816  10 /*untilMonth*/,
7817  27 /*untilDay*/,
7818  480 /*untilTimeCode (7200/15)*/,
7819  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7820  },
7821  // -5:00 - EST 2006 Apr 2 2:00
7822  {
7823  nullptr /*zonePolicy*/,
7824  "EST" /*format*/,
7825  -1200 /*offsetCode (-18000/15)*/,
7826  0 /*offsetRemainder (-18000%15)*/,
7827  0 /*deltaMinutes*/,
7828  2006 /*untilYear*/,
7829  4 /*untilMonth*/,
7830  2 /*untilDay*/,
7831  480 /*untilTimeCode (7200/15)*/,
7832  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7833  },
7834  // -6:00 US C%sT
7835  {
7836  &kZonePolicyUS /*zonePolicy*/,
7837  "C%T" /*format*/,
7838  -1440 /*offsetCode (-21600/15)*/,
7839  0 /*offsetRemainder (-21600%15)*/,
7840  0 /*deltaMinutes*/,
7841  32767 /*untilYear*/,
7842  1 /*untilMonth*/,
7843  1 /*untilDay*/,
7844  0 /*untilTimeCode (0/15)*/,
7845  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7846  },
7847 
7848 };
7849 
7850 static const char kZoneNameAmerica_Indiana_Knox[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Knox";
7851 
7852 const complete::ZoneInfo kZoneAmerica_Indiana_Knox ACE_TIME_PROGMEM = {
7853  kZoneNameAmerica_Indiana_Knox /*name*/,
7854  0x6554adc9 /*zoneId*/,
7855  &kZoneContext /*zoneContext*/,
7856  7 /*numEras*/,
7857  kZoneEraAmerica_Indiana_Knox /*eras*/,
7858  nullptr /*targetInfo*/,
7859 };
7860 
7861 //---------------------------------------------------------------------------
7862 // Zone name: America/Indiana/Marengo
7863 // Eras: 9
7864 //---------------------------------------------------------------------------
7865 
7866 static const complete::ZoneEra kZoneEraAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = {
7867  // -5:45:23 - LMT 1883 Nov 18 18:00u
7868  {
7869  nullptr /*zonePolicy*/,
7870  "LMT" /*format*/,
7871  -1382 /*offsetCode (-20723/15)*/,
7872  7 /*offsetRemainder (-20723%15)*/,
7873  0 /*deltaMinutes*/,
7874  1883 /*untilYear*/,
7875  11 /*untilMonth*/,
7876  18 /*untilDay*/,
7877  4320 /*untilTimeCode (64800/15)*/,
7878  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
7879  },
7880  // -6:00 US C%sT 1951
7881  {
7882  &kZonePolicyUS /*zonePolicy*/,
7883  "C%T" /*format*/,
7884  -1440 /*offsetCode (-21600/15)*/,
7885  0 /*offsetRemainder (-21600%15)*/,
7886  0 /*deltaMinutes*/,
7887  1951 /*untilYear*/,
7888  1 /*untilMonth*/,
7889  1 /*untilDay*/,
7890  0 /*untilTimeCode (0/15)*/,
7891  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7892  },
7893  // -6:00 Marengo C%sT 1961 Apr 30 2:00
7894  {
7895  &kZonePolicyMarengo /*zonePolicy*/,
7896  "C%T" /*format*/,
7897  -1440 /*offsetCode (-21600/15)*/,
7898  0 /*offsetRemainder (-21600%15)*/,
7899  0 /*deltaMinutes*/,
7900  1961 /*untilYear*/,
7901  4 /*untilMonth*/,
7902  30 /*untilDay*/,
7903  480 /*untilTimeCode (7200/15)*/,
7904  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7905  },
7906  // -5:00 - EST 1969
7907  {
7908  nullptr /*zonePolicy*/,
7909  "EST" /*format*/,
7910  -1200 /*offsetCode (-18000/15)*/,
7911  0 /*offsetRemainder (-18000%15)*/,
7912  0 /*deltaMinutes*/,
7913  1969 /*untilYear*/,
7914  1 /*untilMonth*/,
7915  1 /*untilDay*/,
7916  0 /*untilTimeCode (0/15)*/,
7917  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7918  },
7919  // -5:00 US E%sT 1974 Jan 6 2:00
7920  {
7921  &kZonePolicyUS /*zonePolicy*/,
7922  "E%T" /*format*/,
7923  -1200 /*offsetCode (-18000/15)*/,
7924  0 /*offsetRemainder (-18000%15)*/,
7925  0 /*deltaMinutes*/,
7926  1974 /*untilYear*/,
7927  1 /*untilMonth*/,
7928  6 /*untilDay*/,
7929  480 /*untilTimeCode (7200/15)*/,
7930  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7931  },
7932  // -6:00 1:00 CDT 1974 Oct 27 2:00
7933  {
7934  nullptr /*zonePolicy*/,
7935  "CDT" /*format*/,
7936  -1440 /*offsetCode (-21600/15)*/,
7937  0 /*offsetRemainder (-21600%15)*/,
7938  60 /*deltaMinutes*/,
7939  1974 /*untilYear*/,
7940  10 /*untilMonth*/,
7941  27 /*untilDay*/,
7942  480 /*untilTimeCode (7200/15)*/,
7943  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7944  },
7945  // -5:00 US E%sT 1976
7946  {
7947  &kZonePolicyUS /*zonePolicy*/,
7948  "E%T" /*format*/,
7949  -1200 /*offsetCode (-18000/15)*/,
7950  0 /*offsetRemainder (-18000%15)*/,
7951  0 /*deltaMinutes*/,
7952  1976 /*untilYear*/,
7953  1 /*untilMonth*/,
7954  1 /*untilDay*/,
7955  0 /*untilTimeCode (0/15)*/,
7956  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7957  },
7958  // -5:00 - EST 2006
7959  {
7960  nullptr /*zonePolicy*/,
7961  "EST" /*format*/,
7962  -1200 /*offsetCode (-18000/15)*/,
7963  0 /*offsetRemainder (-18000%15)*/,
7964  0 /*deltaMinutes*/,
7965  2006 /*untilYear*/,
7966  1 /*untilMonth*/,
7967  1 /*untilDay*/,
7968  0 /*untilTimeCode (0/15)*/,
7969  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7970  },
7971  // -5:00 US E%sT
7972  {
7973  &kZonePolicyUS /*zonePolicy*/,
7974  "E%T" /*format*/,
7975  -1200 /*offsetCode (-18000/15)*/,
7976  0 /*offsetRemainder (-18000%15)*/,
7977  0 /*deltaMinutes*/,
7978  32767 /*untilYear*/,
7979  1 /*untilMonth*/,
7980  1 /*untilDay*/,
7981  0 /*untilTimeCode (0/15)*/,
7982  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
7983  },
7984 
7985 };
7986 
7987 static const char kZoneNameAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Marengo";
7988 
7989 const complete::ZoneInfo kZoneAmerica_Indiana_Marengo ACE_TIME_PROGMEM = {
7990  kZoneNameAmerica_Indiana_Marengo /*name*/,
7991  0x2feeee72 /*zoneId*/,
7992  &kZoneContext /*zoneContext*/,
7993  9 /*numEras*/,
7994  kZoneEraAmerica_Indiana_Marengo /*eras*/,
7995  nullptr /*targetInfo*/,
7996 };
7997 
7998 //---------------------------------------------------------------------------
7999 // Zone name: America/Indiana/Petersburg
8000 // Eras: 8
8001 //---------------------------------------------------------------------------
8002 
8003 static const complete::ZoneEra kZoneEraAmerica_Indiana_Petersburg[] ACE_TIME_PROGMEM = {
8004  // -5:49:07 - LMT 1883 Nov 18 18:00u
8005  {
8006  nullptr /*zonePolicy*/,
8007  "LMT" /*format*/,
8008  -1397 /*offsetCode (-20947/15)*/,
8009  8 /*offsetRemainder (-20947%15)*/,
8010  0 /*deltaMinutes*/,
8011  1883 /*untilYear*/,
8012  11 /*untilMonth*/,
8013  18 /*untilDay*/,
8014  4320 /*untilTimeCode (64800/15)*/,
8015  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8016  },
8017  // -6:00 US C%sT 1955
8018  {
8019  &kZonePolicyUS /*zonePolicy*/,
8020  "C%T" /*format*/,
8021  -1440 /*offsetCode (-21600/15)*/,
8022  0 /*offsetRemainder (-21600%15)*/,
8023  0 /*deltaMinutes*/,
8024  1955 /*untilYear*/,
8025  1 /*untilMonth*/,
8026  1 /*untilDay*/,
8027  0 /*untilTimeCode (0/15)*/,
8028  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8029  },
8030  // -6:00 Pike C%sT 1965 Apr 25 2:00
8031  {
8032  &kZonePolicyPike /*zonePolicy*/,
8033  "C%T" /*format*/,
8034  -1440 /*offsetCode (-21600/15)*/,
8035  0 /*offsetRemainder (-21600%15)*/,
8036  0 /*deltaMinutes*/,
8037  1965 /*untilYear*/,
8038  4 /*untilMonth*/,
8039  25 /*untilDay*/,
8040  480 /*untilTimeCode (7200/15)*/,
8041  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8042  },
8043  // -5:00 - EST 1966 Oct 30 2:00
8044  {
8045  nullptr /*zonePolicy*/,
8046  "EST" /*format*/,
8047  -1200 /*offsetCode (-18000/15)*/,
8048  0 /*offsetRemainder (-18000%15)*/,
8049  0 /*deltaMinutes*/,
8050  1966 /*untilYear*/,
8051  10 /*untilMonth*/,
8052  30 /*untilDay*/,
8053  480 /*untilTimeCode (7200/15)*/,
8054  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8055  },
8056  // -6:00 US C%sT 1977 Oct 30 2:00
8057  {
8058  &kZonePolicyUS /*zonePolicy*/,
8059  "C%T" /*format*/,
8060  -1440 /*offsetCode (-21600/15)*/,
8061  0 /*offsetRemainder (-21600%15)*/,
8062  0 /*deltaMinutes*/,
8063  1977 /*untilYear*/,
8064  10 /*untilMonth*/,
8065  30 /*untilDay*/,
8066  480 /*untilTimeCode (7200/15)*/,
8067  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8068  },
8069  // -5:00 - EST 2006 Apr 2 2:00
8070  {
8071  nullptr /*zonePolicy*/,
8072  "EST" /*format*/,
8073  -1200 /*offsetCode (-18000/15)*/,
8074  0 /*offsetRemainder (-18000%15)*/,
8075  0 /*deltaMinutes*/,
8076  2006 /*untilYear*/,
8077  4 /*untilMonth*/,
8078  2 /*untilDay*/,
8079  480 /*untilTimeCode (7200/15)*/,
8080  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8081  },
8082  // -6:00 US C%sT 2007 Nov 4 2:00
8083  {
8084  &kZonePolicyUS /*zonePolicy*/,
8085  "C%T" /*format*/,
8086  -1440 /*offsetCode (-21600/15)*/,
8087  0 /*offsetRemainder (-21600%15)*/,
8088  0 /*deltaMinutes*/,
8089  2007 /*untilYear*/,
8090  11 /*untilMonth*/,
8091  4 /*untilDay*/,
8092  480 /*untilTimeCode (7200/15)*/,
8093  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8094  },
8095  // -5:00 US E%sT
8096  {
8097  &kZonePolicyUS /*zonePolicy*/,
8098  "E%T" /*format*/,
8099  -1200 /*offsetCode (-18000/15)*/,
8100  0 /*offsetRemainder (-18000%15)*/,
8101  0 /*deltaMinutes*/,
8102  32767 /*untilYear*/,
8103  1 /*untilMonth*/,
8104  1 /*untilDay*/,
8105  0 /*untilTimeCode (0/15)*/,
8106  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8107  },
8108 
8109 };
8110 
8111 static const char kZoneNameAmerica_Indiana_Petersburg[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Petersburg";
8112 
8113 const complete::ZoneInfo kZoneAmerica_Indiana_Petersburg ACE_TIME_PROGMEM = {
8114  kZoneNameAmerica_Indiana_Petersburg /*name*/,
8115  0x94ac7acc /*zoneId*/,
8116  &kZoneContext /*zoneContext*/,
8117  8 /*numEras*/,
8118  kZoneEraAmerica_Indiana_Petersburg /*eras*/,
8119  nullptr /*targetInfo*/,
8120 };
8121 
8122 //---------------------------------------------------------------------------
8123 // Zone name: America/Indiana/Tell_City
8124 // Eras: 8
8125 //---------------------------------------------------------------------------
8126 
8127 static const complete::ZoneEra kZoneEraAmerica_Indiana_Tell_City[] ACE_TIME_PROGMEM = {
8128  // -5:47:03 - LMT 1883 Nov 18 18:00u
8129  {
8130  nullptr /*zonePolicy*/,
8131  "LMT" /*format*/,
8132  -1389 /*offsetCode (-20823/15)*/,
8133  12 /*offsetRemainder (-20823%15)*/,
8134  0 /*deltaMinutes*/,
8135  1883 /*untilYear*/,
8136  11 /*untilMonth*/,
8137  18 /*untilDay*/,
8138  4320 /*untilTimeCode (64800/15)*/,
8139  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8140  },
8141  // -6:00 US C%sT 1946
8142  {
8143  &kZonePolicyUS /*zonePolicy*/,
8144  "C%T" /*format*/,
8145  -1440 /*offsetCode (-21600/15)*/,
8146  0 /*offsetRemainder (-21600%15)*/,
8147  0 /*deltaMinutes*/,
8148  1946 /*untilYear*/,
8149  1 /*untilMonth*/,
8150  1 /*untilDay*/,
8151  0 /*untilTimeCode (0/15)*/,
8152  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8153  },
8154  // -6:00 Perry C%sT 1964 Apr 26 2:00
8155  {
8156  &kZonePolicyPerry /*zonePolicy*/,
8157  "C%T" /*format*/,
8158  -1440 /*offsetCode (-21600/15)*/,
8159  0 /*offsetRemainder (-21600%15)*/,
8160  0 /*deltaMinutes*/,
8161  1964 /*untilYear*/,
8162  4 /*untilMonth*/,
8163  26 /*untilDay*/,
8164  480 /*untilTimeCode (7200/15)*/,
8165  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8166  },
8167  // -5:00 - EST 1967 Oct 29 2:00
8168  {
8169  nullptr /*zonePolicy*/,
8170  "EST" /*format*/,
8171  -1200 /*offsetCode (-18000/15)*/,
8172  0 /*offsetRemainder (-18000%15)*/,
8173  0 /*deltaMinutes*/,
8174  1967 /*untilYear*/,
8175  10 /*untilMonth*/,
8176  29 /*untilDay*/,
8177  480 /*untilTimeCode (7200/15)*/,
8178  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8179  },
8180  // -6:00 US C%sT 1969 Apr 27 2:00
8181  {
8182  &kZonePolicyUS /*zonePolicy*/,
8183  "C%T" /*format*/,
8184  -1440 /*offsetCode (-21600/15)*/,
8185  0 /*offsetRemainder (-21600%15)*/,
8186  0 /*deltaMinutes*/,
8187  1969 /*untilYear*/,
8188  4 /*untilMonth*/,
8189  27 /*untilDay*/,
8190  480 /*untilTimeCode (7200/15)*/,
8191  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8192  },
8193  // -5:00 US E%sT 1971
8194  {
8195  &kZonePolicyUS /*zonePolicy*/,
8196  "E%T" /*format*/,
8197  -1200 /*offsetCode (-18000/15)*/,
8198  0 /*offsetRemainder (-18000%15)*/,
8199  0 /*deltaMinutes*/,
8200  1971 /*untilYear*/,
8201  1 /*untilMonth*/,
8202  1 /*untilDay*/,
8203  0 /*untilTimeCode (0/15)*/,
8204  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8205  },
8206  // -5:00 - EST 2006 Apr 2 2:00
8207  {
8208  nullptr /*zonePolicy*/,
8209  "EST" /*format*/,
8210  -1200 /*offsetCode (-18000/15)*/,
8211  0 /*offsetRemainder (-18000%15)*/,
8212  0 /*deltaMinutes*/,
8213  2006 /*untilYear*/,
8214  4 /*untilMonth*/,
8215  2 /*untilDay*/,
8216  480 /*untilTimeCode (7200/15)*/,
8217  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8218  },
8219  // -6:00 US C%sT
8220  {
8221  &kZonePolicyUS /*zonePolicy*/,
8222  "C%T" /*format*/,
8223  -1440 /*offsetCode (-21600/15)*/,
8224  0 /*offsetRemainder (-21600%15)*/,
8225  0 /*deltaMinutes*/,
8226  32767 /*untilYear*/,
8227  1 /*untilMonth*/,
8228  1 /*untilDay*/,
8229  0 /*untilTimeCode (0/15)*/,
8230  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8231  },
8232 
8233 };
8234 
8235 static const char kZoneNameAmerica_Indiana_Tell_City[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Tell_City";
8236 
8237 const complete::ZoneInfo kZoneAmerica_Indiana_Tell_City ACE_TIME_PROGMEM = {
8238  kZoneNameAmerica_Indiana_Tell_City /*name*/,
8239  0x09263612 /*zoneId*/,
8240  &kZoneContext /*zoneContext*/,
8241  8 /*numEras*/,
8242  kZoneEraAmerica_Indiana_Tell_City /*eras*/,
8243  nullptr /*targetInfo*/,
8244 };
8245 
8246 //---------------------------------------------------------------------------
8247 // Zone name: America/Indiana/Vevay
8248 // Eras: 6
8249 //---------------------------------------------------------------------------
8250 
8251 static const complete::ZoneEra kZoneEraAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = {
8252  // -5:40:16 - LMT 1883 Nov 18 18:00u
8253  {
8254  nullptr /*zonePolicy*/,
8255  "LMT" /*format*/,
8256  -1362 /*offsetCode (-20416/15)*/,
8257  14 /*offsetRemainder (-20416%15)*/,
8258  0 /*deltaMinutes*/,
8259  1883 /*untilYear*/,
8260  11 /*untilMonth*/,
8261  18 /*untilDay*/,
8262  4320 /*untilTimeCode (64800/15)*/,
8263  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8264  },
8265  // -6:00 US C%sT 1954 Apr 25 2:00
8266  {
8267  &kZonePolicyUS /*zonePolicy*/,
8268  "C%T" /*format*/,
8269  -1440 /*offsetCode (-21600/15)*/,
8270  0 /*offsetRemainder (-21600%15)*/,
8271  0 /*deltaMinutes*/,
8272  1954 /*untilYear*/,
8273  4 /*untilMonth*/,
8274  25 /*untilDay*/,
8275  480 /*untilTimeCode (7200/15)*/,
8276  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8277  },
8278  // -5:00 - EST 1969
8279  {
8280  nullptr /*zonePolicy*/,
8281  "EST" /*format*/,
8282  -1200 /*offsetCode (-18000/15)*/,
8283  0 /*offsetRemainder (-18000%15)*/,
8284  0 /*deltaMinutes*/,
8285  1969 /*untilYear*/,
8286  1 /*untilMonth*/,
8287  1 /*untilDay*/,
8288  0 /*untilTimeCode (0/15)*/,
8289  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8290  },
8291  // -5:00 US E%sT 1973
8292  {
8293  &kZonePolicyUS /*zonePolicy*/,
8294  "E%T" /*format*/,
8295  -1200 /*offsetCode (-18000/15)*/,
8296  0 /*offsetRemainder (-18000%15)*/,
8297  0 /*deltaMinutes*/,
8298  1973 /*untilYear*/,
8299  1 /*untilMonth*/,
8300  1 /*untilDay*/,
8301  0 /*untilTimeCode (0/15)*/,
8302  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8303  },
8304  // -5:00 - EST 2006
8305  {
8306  nullptr /*zonePolicy*/,
8307  "EST" /*format*/,
8308  -1200 /*offsetCode (-18000/15)*/,
8309  0 /*offsetRemainder (-18000%15)*/,
8310  0 /*deltaMinutes*/,
8311  2006 /*untilYear*/,
8312  1 /*untilMonth*/,
8313  1 /*untilDay*/,
8314  0 /*untilTimeCode (0/15)*/,
8315  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8316  },
8317  // -5:00 US E%sT
8318  {
8319  &kZonePolicyUS /*zonePolicy*/,
8320  "E%T" /*format*/,
8321  -1200 /*offsetCode (-18000/15)*/,
8322  0 /*offsetRemainder (-18000%15)*/,
8323  0 /*deltaMinutes*/,
8324  32767 /*untilYear*/,
8325  1 /*untilMonth*/,
8326  1 /*untilDay*/,
8327  0 /*untilTimeCode (0/15)*/,
8328  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8329  },
8330 
8331 };
8332 
8333 static const char kZoneNameAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Vevay";
8334 
8335 const complete::ZoneInfo kZoneAmerica_Indiana_Vevay ACE_TIME_PROGMEM = {
8336  kZoneNameAmerica_Indiana_Vevay /*name*/,
8337  0x10aca054 /*zoneId*/,
8338  &kZoneContext /*zoneContext*/,
8339  6 /*numEras*/,
8340  kZoneEraAmerica_Indiana_Vevay /*eras*/,
8341  nullptr /*targetInfo*/,
8342 };
8343 
8344 //---------------------------------------------------------------------------
8345 // Zone name: America/Indiana/Vincennes
8346 // Eras: 8
8347 //---------------------------------------------------------------------------
8348 
8349 static const complete::ZoneEra kZoneEraAmerica_Indiana_Vincennes[] ACE_TIME_PROGMEM = {
8350  // -5:50:07 - LMT 1883 Nov 18 18:00u
8351  {
8352  nullptr /*zonePolicy*/,
8353  "LMT" /*format*/,
8354  -1401 /*offsetCode (-21007/15)*/,
8355  8 /*offsetRemainder (-21007%15)*/,
8356  0 /*deltaMinutes*/,
8357  1883 /*untilYear*/,
8358  11 /*untilMonth*/,
8359  18 /*untilDay*/,
8360  4320 /*untilTimeCode (64800/15)*/,
8361  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8362  },
8363  // -6:00 US C%sT 1946
8364  {
8365  &kZonePolicyUS /*zonePolicy*/,
8366  "C%T" /*format*/,
8367  -1440 /*offsetCode (-21600/15)*/,
8368  0 /*offsetRemainder (-21600%15)*/,
8369  0 /*deltaMinutes*/,
8370  1946 /*untilYear*/,
8371  1 /*untilMonth*/,
8372  1 /*untilDay*/,
8373  0 /*untilTimeCode (0/15)*/,
8374  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8375  },
8376  // -6:00 Vincennes C%sT 1964 Apr 26 2:00
8377  {
8378  &kZonePolicyVincennes /*zonePolicy*/,
8379  "C%T" /*format*/,
8380  -1440 /*offsetCode (-21600/15)*/,
8381  0 /*offsetRemainder (-21600%15)*/,
8382  0 /*deltaMinutes*/,
8383  1964 /*untilYear*/,
8384  4 /*untilMonth*/,
8385  26 /*untilDay*/,
8386  480 /*untilTimeCode (7200/15)*/,
8387  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8388  },
8389  // -5:00 - EST 1969
8390  {
8391  nullptr /*zonePolicy*/,
8392  "EST" /*format*/,
8393  -1200 /*offsetCode (-18000/15)*/,
8394  0 /*offsetRemainder (-18000%15)*/,
8395  0 /*deltaMinutes*/,
8396  1969 /*untilYear*/,
8397  1 /*untilMonth*/,
8398  1 /*untilDay*/,
8399  0 /*untilTimeCode (0/15)*/,
8400  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8401  },
8402  // -5:00 US E%sT 1971
8403  {
8404  &kZonePolicyUS /*zonePolicy*/,
8405  "E%T" /*format*/,
8406  -1200 /*offsetCode (-18000/15)*/,
8407  0 /*offsetRemainder (-18000%15)*/,
8408  0 /*deltaMinutes*/,
8409  1971 /*untilYear*/,
8410  1 /*untilMonth*/,
8411  1 /*untilDay*/,
8412  0 /*untilTimeCode (0/15)*/,
8413  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8414  },
8415  // -5:00 - EST 2006 Apr 2 2:00
8416  {
8417  nullptr /*zonePolicy*/,
8418  "EST" /*format*/,
8419  -1200 /*offsetCode (-18000/15)*/,
8420  0 /*offsetRemainder (-18000%15)*/,
8421  0 /*deltaMinutes*/,
8422  2006 /*untilYear*/,
8423  4 /*untilMonth*/,
8424  2 /*untilDay*/,
8425  480 /*untilTimeCode (7200/15)*/,
8426  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8427  },
8428  // -6:00 US C%sT 2007 Nov 4 2:00
8429  {
8430  &kZonePolicyUS /*zonePolicy*/,
8431  "C%T" /*format*/,
8432  -1440 /*offsetCode (-21600/15)*/,
8433  0 /*offsetRemainder (-21600%15)*/,
8434  0 /*deltaMinutes*/,
8435  2007 /*untilYear*/,
8436  11 /*untilMonth*/,
8437  4 /*untilDay*/,
8438  480 /*untilTimeCode (7200/15)*/,
8439  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8440  },
8441  // -5:00 US E%sT
8442  {
8443  &kZonePolicyUS /*zonePolicy*/,
8444  "E%T" /*format*/,
8445  -1200 /*offsetCode (-18000/15)*/,
8446  0 /*offsetRemainder (-18000%15)*/,
8447  0 /*deltaMinutes*/,
8448  32767 /*untilYear*/,
8449  1 /*untilMonth*/,
8450  1 /*untilDay*/,
8451  0 /*untilTimeCode (0/15)*/,
8452  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8453  },
8454 
8455 };
8456 
8457 static const char kZoneNameAmerica_Indiana_Vincennes[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Vincennes";
8458 
8459 const complete::ZoneInfo kZoneAmerica_Indiana_Vincennes ACE_TIME_PROGMEM = {
8460  kZoneNameAmerica_Indiana_Vincennes /*name*/,
8461  0x28a0b212 /*zoneId*/,
8462  &kZoneContext /*zoneContext*/,
8463  8 /*numEras*/,
8464  kZoneEraAmerica_Indiana_Vincennes /*eras*/,
8465  nullptr /*targetInfo*/,
8466 };
8467 
8468 //---------------------------------------------------------------------------
8469 // Zone name: America/Indiana/Winamac
8470 // Eras: 8
8471 //---------------------------------------------------------------------------
8472 
8473 static const complete::ZoneEra kZoneEraAmerica_Indiana_Winamac[] ACE_TIME_PROGMEM = {
8474  // -5:46:25 - LMT 1883 Nov 18 18:00u
8475  {
8476  nullptr /*zonePolicy*/,
8477  "LMT" /*format*/,
8478  -1386 /*offsetCode (-20785/15)*/,
8479  5 /*offsetRemainder (-20785%15)*/,
8480  0 /*deltaMinutes*/,
8481  1883 /*untilYear*/,
8482  11 /*untilMonth*/,
8483  18 /*untilDay*/,
8484  4320 /*untilTimeCode (64800/15)*/,
8485  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8486  },
8487  // -6:00 US C%sT 1946
8488  {
8489  &kZonePolicyUS /*zonePolicy*/,
8490  "C%T" /*format*/,
8491  -1440 /*offsetCode (-21600/15)*/,
8492  0 /*offsetRemainder (-21600%15)*/,
8493  0 /*deltaMinutes*/,
8494  1946 /*untilYear*/,
8495  1 /*untilMonth*/,
8496  1 /*untilDay*/,
8497  0 /*untilTimeCode (0/15)*/,
8498  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8499  },
8500  // -6:00 Pulaski C%sT 1961 Apr 30 2:00
8501  {
8502  &kZonePolicyPulaski /*zonePolicy*/,
8503  "C%T" /*format*/,
8504  -1440 /*offsetCode (-21600/15)*/,
8505  0 /*offsetRemainder (-21600%15)*/,
8506  0 /*deltaMinutes*/,
8507  1961 /*untilYear*/,
8508  4 /*untilMonth*/,
8509  30 /*untilDay*/,
8510  480 /*untilTimeCode (7200/15)*/,
8511  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8512  },
8513  // -5:00 - EST 1969
8514  {
8515  nullptr /*zonePolicy*/,
8516  "EST" /*format*/,
8517  -1200 /*offsetCode (-18000/15)*/,
8518  0 /*offsetRemainder (-18000%15)*/,
8519  0 /*deltaMinutes*/,
8520  1969 /*untilYear*/,
8521  1 /*untilMonth*/,
8522  1 /*untilDay*/,
8523  0 /*untilTimeCode (0/15)*/,
8524  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8525  },
8526  // -5:00 US E%sT 1971
8527  {
8528  &kZonePolicyUS /*zonePolicy*/,
8529  "E%T" /*format*/,
8530  -1200 /*offsetCode (-18000/15)*/,
8531  0 /*offsetRemainder (-18000%15)*/,
8532  0 /*deltaMinutes*/,
8533  1971 /*untilYear*/,
8534  1 /*untilMonth*/,
8535  1 /*untilDay*/,
8536  0 /*untilTimeCode (0/15)*/,
8537  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8538  },
8539  // -5:00 - EST 2006 Apr 2 2:00
8540  {
8541  nullptr /*zonePolicy*/,
8542  "EST" /*format*/,
8543  -1200 /*offsetCode (-18000/15)*/,
8544  0 /*offsetRemainder (-18000%15)*/,
8545  0 /*deltaMinutes*/,
8546  2006 /*untilYear*/,
8547  4 /*untilMonth*/,
8548  2 /*untilDay*/,
8549  480 /*untilTimeCode (7200/15)*/,
8550  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8551  },
8552  // -6:00 US C%sT 2007 Mar 11 2:00
8553  {
8554  &kZonePolicyUS /*zonePolicy*/,
8555  "C%T" /*format*/,
8556  -1440 /*offsetCode (-21600/15)*/,
8557  0 /*offsetRemainder (-21600%15)*/,
8558  0 /*deltaMinutes*/,
8559  2007 /*untilYear*/,
8560  3 /*untilMonth*/,
8561  11 /*untilDay*/,
8562  480 /*untilTimeCode (7200/15)*/,
8563  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8564  },
8565  // -5:00 US E%sT
8566  {
8567  &kZonePolicyUS /*zonePolicy*/,
8568  "E%T" /*format*/,
8569  -1200 /*offsetCode (-18000/15)*/,
8570  0 /*offsetRemainder (-18000%15)*/,
8571  0 /*deltaMinutes*/,
8572  32767 /*untilYear*/,
8573  1 /*untilMonth*/,
8574  1 /*untilDay*/,
8575  0 /*untilTimeCode (0/15)*/,
8576  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8577  },
8578 
8579 };
8580 
8581 static const char kZoneNameAmerica_Indiana_Winamac[] ACE_TIME_PROGMEM = "\x02" "\x0d" "Winamac";
8582 
8583 const complete::ZoneInfo kZoneAmerica_Indiana_Winamac ACE_TIME_PROGMEM = {
8584  kZoneNameAmerica_Indiana_Winamac /*name*/,
8585  0x4413fa69 /*zoneId*/,
8586  &kZoneContext /*zoneContext*/,
8587  8 /*numEras*/,
8588  kZoneEraAmerica_Indiana_Winamac /*eras*/,
8589  nullptr /*targetInfo*/,
8590 };
8591 
8592 //---------------------------------------------------------------------------
8593 // Zone name: America/Inuvik
8594 // Eras: 4
8595 //---------------------------------------------------------------------------
8596 
8597 static const complete::ZoneEra kZoneEraAmerica_Inuvik[] ACE_TIME_PROGMEM = {
8598  // 0 - -00 1953
8599  {
8600  nullptr /*zonePolicy*/,
8601  "-00" /*format*/,
8602  0 /*offsetCode (0/15)*/,
8603  0 /*offsetRemainder (0%15)*/,
8604  0 /*deltaMinutes*/,
8605  1953 /*untilYear*/,
8606  1 /*untilMonth*/,
8607  1 /*untilDay*/,
8608  0 /*untilTimeCode (0/15)*/,
8609  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8610  },
8611  // -8:00 NT_YK P%sT 1979 Apr lastSun 2:00
8612  {
8613  &kZonePolicyNT_YK /*zonePolicy*/,
8614  "P%T" /*format*/,
8615  -1920 /*offsetCode (-28800/15)*/,
8616  0 /*offsetRemainder (-28800%15)*/,
8617  0 /*deltaMinutes*/,
8618  1979 /*untilYear*/,
8619  4 /*untilMonth*/,
8620  29 /*untilDay*/,
8621  480 /*untilTimeCode (7200/15)*/,
8622  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8623  },
8624  // -7:00 NT_YK M%sT 1980
8625  {
8626  &kZonePolicyNT_YK /*zonePolicy*/,
8627  "M%T" /*format*/,
8628  -1680 /*offsetCode (-25200/15)*/,
8629  0 /*offsetRemainder (-25200%15)*/,
8630  0 /*deltaMinutes*/,
8631  1980 /*untilYear*/,
8632  1 /*untilMonth*/,
8633  1 /*untilDay*/,
8634  0 /*untilTimeCode (0/15)*/,
8635  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8636  },
8637  // -7:00 Canada M%sT
8638  {
8639  &kZonePolicyCanada /*zonePolicy*/,
8640  "M%T" /*format*/,
8641  -1680 /*offsetCode (-25200/15)*/,
8642  0 /*offsetRemainder (-25200%15)*/,
8643  0 /*deltaMinutes*/,
8644  32767 /*untilYear*/,
8645  1 /*untilMonth*/,
8646  1 /*untilDay*/,
8647  0 /*untilTimeCode (0/15)*/,
8648  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8649  },
8650 
8651 };
8652 
8653 static const char kZoneNameAmerica_Inuvik[] ACE_TIME_PROGMEM = "\x02" "Inuvik";
8654 
8655 const complete::ZoneInfo kZoneAmerica_Inuvik ACE_TIME_PROGMEM = {
8656  kZoneNameAmerica_Inuvik /*name*/,
8657  0xa42189fc /*zoneId*/,
8658  &kZoneContext /*zoneContext*/,
8659  4 /*numEras*/,
8660  kZoneEraAmerica_Inuvik /*eras*/,
8661  nullptr /*targetInfo*/,
8662 };
8663 
8664 //---------------------------------------------------------------------------
8665 // Zone name: America/Iqaluit
8666 // Eras: 4
8667 //---------------------------------------------------------------------------
8668 
8669 static const complete::ZoneEra kZoneEraAmerica_Iqaluit[] ACE_TIME_PROGMEM = {
8670  // 0 - -00 1942 Aug
8671  {
8672  nullptr /*zonePolicy*/,
8673  "-00" /*format*/,
8674  0 /*offsetCode (0/15)*/,
8675  0 /*offsetRemainder (0%15)*/,
8676  0 /*deltaMinutes*/,
8677  1942 /*untilYear*/,
8678  8 /*untilMonth*/,
8679  1 /*untilDay*/,
8680  0 /*untilTimeCode (0/15)*/,
8681  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8682  },
8683  // -5:00 NT_YK E%sT 1999 Oct 31 2:00
8684  {
8685  &kZonePolicyNT_YK /*zonePolicy*/,
8686  "E%T" /*format*/,
8687  -1200 /*offsetCode (-18000/15)*/,
8688  0 /*offsetRemainder (-18000%15)*/,
8689  0 /*deltaMinutes*/,
8690  1999 /*untilYear*/,
8691  10 /*untilMonth*/,
8692  31 /*untilDay*/,
8693  480 /*untilTimeCode (7200/15)*/,
8694  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8695  },
8696  // -6:00 Canada C%sT 2000 Oct 29 2:00
8697  {
8698  &kZonePolicyCanada /*zonePolicy*/,
8699  "C%T" /*format*/,
8700  -1440 /*offsetCode (-21600/15)*/,
8701  0 /*offsetRemainder (-21600%15)*/,
8702  0 /*deltaMinutes*/,
8703  2000 /*untilYear*/,
8704  10 /*untilMonth*/,
8705  29 /*untilDay*/,
8706  480 /*untilTimeCode (7200/15)*/,
8707  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8708  },
8709  // -5:00 Canada E%sT
8710  {
8711  &kZonePolicyCanada /*zonePolicy*/,
8712  "E%T" /*format*/,
8713  -1200 /*offsetCode (-18000/15)*/,
8714  0 /*offsetRemainder (-18000%15)*/,
8715  0 /*deltaMinutes*/,
8716  32767 /*untilYear*/,
8717  1 /*untilMonth*/,
8718  1 /*untilDay*/,
8719  0 /*untilTimeCode (0/15)*/,
8720  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8721  },
8722 
8723 };
8724 
8725 static const char kZoneNameAmerica_Iqaluit[] ACE_TIME_PROGMEM = "\x02" "Iqaluit";
8726 
8727 const complete::ZoneInfo kZoneAmerica_Iqaluit ACE_TIME_PROGMEM = {
8728  kZoneNameAmerica_Iqaluit /*name*/,
8729  0x2de310bf /*zoneId*/,
8730  &kZoneContext /*zoneContext*/,
8731  4 /*numEras*/,
8732  kZoneEraAmerica_Iqaluit /*eras*/,
8733  nullptr /*targetInfo*/,
8734 };
8735 
8736 //---------------------------------------------------------------------------
8737 // Zone name: America/Jamaica
8738 // Eras: 5
8739 //---------------------------------------------------------------------------
8740 
8741 static const complete::ZoneEra kZoneEraAmerica_Jamaica[] ACE_TIME_PROGMEM = {
8742  // -5:07:10 - LMT 1890
8743  {
8744  nullptr /*zonePolicy*/,
8745  "LMT" /*format*/,
8746  -1229 /*offsetCode (-18430/15)*/,
8747  5 /*offsetRemainder (-18430%15)*/,
8748  0 /*deltaMinutes*/,
8749  1890 /*untilYear*/,
8750  1 /*untilMonth*/,
8751  1 /*untilDay*/,
8752  0 /*untilTimeCode (0/15)*/,
8753  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8754  },
8755  // -5:07:10 - KMT 1912 Feb
8756  {
8757  nullptr /*zonePolicy*/,
8758  "KMT" /*format*/,
8759  -1229 /*offsetCode (-18430/15)*/,
8760  5 /*offsetRemainder (-18430%15)*/,
8761  0 /*deltaMinutes*/,
8762  1912 /*untilYear*/,
8763  2 /*untilMonth*/,
8764  1 /*untilDay*/,
8765  0 /*untilTimeCode (0/15)*/,
8766  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8767  },
8768  // -5:00 - EST 1974
8769  {
8770  nullptr /*zonePolicy*/,
8771  "EST" /*format*/,
8772  -1200 /*offsetCode (-18000/15)*/,
8773  0 /*offsetRemainder (-18000%15)*/,
8774  0 /*deltaMinutes*/,
8775  1974 /*untilYear*/,
8776  1 /*untilMonth*/,
8777  1 /*untilDay*/,
8778  0 /*untilTimeCode (0/15)*/,
8779  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8780  },
8781  // -5:00 US E%sT 1984
8782  {
8783  &kZonePolicyUS /*zonePolicy*/,
8784  "E%T" /*format*/,
8785  -1200 /*offsetCode (-18000/15)*/,
8786  0 /*offsetRemainder (-18000%15)*/,
8787  0 /*deltaMinutes*/,
8788  1984 /*untilYear*/,
8789  1 /*untilMonth*/,
8790  1 /*untilDay*/,
8791  0 /*untilTimeCode (0/15)*/,
8792  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8793  },
8794  // -5:00 - EST
8795  {
8796  nullptr /*zonePolicy*/,
8797  "EST" /*format*/,
8798  -1200 /*offsetCode (-18000/15)*/,
8799  0 /*offsetRemainder (-18000%15)*/,
8800  0 /*deltaMinutes*/,
8801  32767 /*untilYear*/,
8802  1 /*untilMonth*/,
8803  1 /*untilDay*/,
8804  0 /*untilTimeCode (0/15)*/,
8805  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8806  },
8807 
8808 };
8809 
8810 static const char kZoneNameAmerica_Jamaica[] ACE_TIME_PROGMEM = "\x02" "Jamaica";
8811 
8812 const complete::ZoneInfo kZoneAmerica_Jamaica ACE_TIME_PROGMEM = {
8813  kZoneNameAmerica_Jamaica /*name*/,
8814  0x565dad6c /*zoneId*/,
8815  &kZoneContext /*zoneContext*/,
8816  5 /*numEras*/,
8817  kZoneEraAmerica_Jamaica /*eras*/,
8818  nullptr /*targetInfo*/,
8819 };
8820 
8821 //---------------------------------------------------------------------------
8822 // Zone name: America/Juneau
8823 // Eras: 10
8824 //---------------------------------------------------------------------------
8825 
8826 static const complete::ZoneEra kZoneEraAmerica_Juneau[] ACE_TIME_PROGMEM = {
8827  // 15:02:19 - LMT 1867 Oct 19 15:33:32
8828  {
8829  nullptr /*zonePolicy*/,
8830  "LMT" /*format*/,
8831  3609 /*offsetCode (54139/15)*/,
8832  4 /*offsetRemainder (54139%15)*/,
8833  0 /*deltaMinutes*/,
8834  1867 /*untilYear*/,
8835  10 /*untilMonth*/,
8836  19 /*untilDay*/,
8837  3734 /*untilTimeCode (56012/15)*/,
8838  2 /*untilTimeModifier (kAtcSuffixW + seconds=2)*/,
8839  },
8840  // -8:57:41 - LMT 1900 Aug 20 12:00
8841  {
8842  nullptr /*zonePolicy*/,
8843  "LMT" /*format*/,
8844  -2151 /*offsetCode (-32261/15)*/,
8845  4 /*offsetRemainder (-32261%15)*/,
8846  0 /*deltaMinutes*/,
8847  1900 /*untilYear*/,
8848  8 /*untilMonth*/,
8849  20 /*untilDay*/,
8850  2880 /*untilTimeCode (43200/15)*/,
8851  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8852  },
8853  // -8:00 - PST 1942
8854  {
8855  nullptr /*zonePolicy*/,
8856  "PST" /*format*/,
8857  -1920 /*offsetCode (-28800/15)*/,
8858  0 /*offsetRemainder (-28800%15)*/,
8859  0 /*deltaMinutes*/,
8860  1942 /*untilYear*/,
8861  1 /*untilMonth*/,
8862  1 /*untilDay*/,
8863  0 /*untilTimeCode (0/15)*/,
8864  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8865  },
8866  // -8:00 US P%sT 1946
8867  {
8868  &kZonePolicyUS /*zonePolicy*/,
8869  "P%T" /*format*/,
8870  -1920 /*offsetCode (-28800/15)*/,
8871  0 /*offsetRemainder (-28800%15)*/,
8872  0 /*deltaMinutes*/,
8873  1946 /*untilYear*/,
8874  1 /*untilMonth*/,
8875  1 /*untilDay*/,
8876  0 /*untilTimeCode (0/15)*/,
8877  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8878  },
8879  // -8:00 - PST 1969
8880  {
8881  nullptr /*zonePolicy*/,
8882  "PST" /*format*/,
8883  -1920 /*offsetCode (-28800/15)*/,
8884  0 /*offsetRemainder (-28800%15)*/,
8885  0 /*deltaMinutes*/,
8886  1969 /*untilYear*/,
8887  1 /*untilMonth*/,
8888  1 /*untilDay*/,
8889  0 /*untilTimeCode (0/15)*/,
8890  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8891  },
8892  // -8:00 US P%sT 1980 Apr 27 2:00
8893  {
8894  &kZonePolicyUS /*zonePolicy*/,
8895  "P%T" /*format*/,
8896  -1920 /*offsetCode (-28800/15)*/,
8897  0 /*offsetRemainder (-28800%15)*/,
8898  0 /*deltaMinutes*/,
8899  1980 /*untilYear*/,
8900  4 /*untilMonth*/,
8901  27 /*untilDay*/,
8902  480 /*untilTimeCode (7200/15)*/,
8903  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8904  },
8905  // -9:00 US Y%sT 1980 Oct 26 2:00
8906  {
8907  &kZonePolicyUS /*zonePolicy*/,
8908  "Y%T" /*format*/,
8909  -2160 /*offsetCode (-32400/15)*/,
8910  0 /*offsetRemainder (-32400%15)*/,
8911  0 /*deltaMinutes*/,
8912  1980 /*untilYear*/,
8913  10 /*untilMonth*/,
8914  26 /*untilDay*/,
8915  480 /*untilTimeCode (7200/15)*/,
8916  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8917  },
8918  // -8:00 US P%sT 1983 Oct 30 2:00
8919  {
8920  &kZonePolicyUS /*zonePolicy*/,
8921  "P%T" /*format*/,
8922  -1920 /*offsetCode (-28800/15)*/,
8923  0 /*offsetRemainder (-28800%15)*/,
8924  0 /*deltaMinutes*/,
8925  1983 /*untilYear*/,
8926  10 /*untilMonth*/,
8927  30 /*untilDay*/,
8928  480 /*untilTimeCode (7200/15)*/,
8929  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8930  },
8931  // -9:00 US Y%sT 1983 Nov 30
8932  {
8933  &kZonePolicyUS /*zonePolicy*/,
8934  "Y%T" /*format*/,
8935  -2160 /*offsetCode (-32400/15)*/,
8936  0 /*offsetRemainder (-32400%15)*/,
8937  0 /*deltaMinutes*/,
8938  1983 /*untilYear*/,
8939  11 /*untilMonth*/,
8940  30 /*untilDay*/,
8941  0 /*untilTimeCode (0/15)*/,
8942  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8943  },
8944  // -9:00 US AK%sT
8945  {
8946  &kZonePolicyUS /*zonePolicy*/,
8947  "AK%T" /*format*/,
8948  -2160 /*offsetCode (-32400/15)*/,
8949  0 /*offsetRemainder (-32400%15)*/,
8950  0 /*deltaMinutes*/,
8951  32767 /*untilYear*/,
8952  1 /*untilMonth*/,
8953  1 /*untilDay*/,
8954  0 /*untilTimeCode (0/15)*/,
8955  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
8956  },
8957 
8958 };
8959 
8960 static const char kZoneNameAmerica_Juneau[] ACE_TIME_PROGMEM = "\x02" "Juneau";
8961 
8962 const complete::ZoneInfo kZoneAmerica_Juneau ACE_TIME_PROGMEM = {
8963  kZoneNameAmerica_Juneau /*name*/,
8964  0xa6f13e2e /*zoneId*/,
8965  &kZoneContext /*zoneContext*/,
8966  10 /*numEras*/,
8967  kZoneEraAmerica_Juneau /*eras*/,
8968  nullptr /*targetInfo*/,
8969 };
8970 
8971 //---------------------------------------------------------------------------
8972 // Zone name: America/Kentucky/Louisville
8973 // Eras: 9
8974 //---------------------------------------------------------------------------
8975 
8976 static const complete::ZoneEra kZoneEraAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = {
8977  // -5:43:02 - LMT 1883 Nov 18 18:00u
8978  {
8979  nullptr /*zonePolicy*/,
8980  "LMT" /*format*/,
8981  -1373 /*offsetCode (-20582/15)*/,
8982  13 /*offsetRemainder (-20582%15)*/,
8983  0 /*deltaMinutes*/,
8984  1883 /*untilYear*/,
8985  11 /*untilMonth*/,
8986  18 /*untilDay*/,
8987  4320 /*untilTimeCode (64800/15)*/,
8988  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
8989  },
8990  // -6:00 US C%sT 1921
8991  {
8992  &kZonePolicyUS /*zonePolicy*/,
8993  "C%T" /*format*/,
8994  -1440 /*offsetCode (-21600/15)*/,
8995  0 /*offsetRemainder (-21600%15)*/,
8996  0 /*deltaMinutes*/,
8997  1921 /*untilYear*/,
8998  1 /*untilMonth*/,
8999  1 /*untilDay*/,
9000  0 /*untilTimeCode (0/15)*/,
9001  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9002  },
9003  // -6:00 Louisville C%sT 1942
9004  {
9005  &kZonePolicyLouisville /*zonePolicy*/,
9006  "C%T" /*format*/,
9007  -1440 /*offsetCode (-21600/15)*/,
9008  0 /*offsetRemainder (-21600%15)*/,
9009  0 /*deltaMinutes*/,
9010  1942 /*untilYear*/,
9011  1 /*untilMonth*/,
9012  1 /*untilDay*/,
9013  0 /*untilTimeCode (0/15)*/,
9014  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9015  },
9016  // -6:00 US C%sT 1946
9017  {
9018  &kZonePolicyUS /*zonePolicy*/,
9019  "C%T" /*format*/,
9020  -1440 /*offsetCode (-21600/15)*/,
9021  0 /*offsetRemainder (-21600%15)*/,
9022  0 /*deltaMinutes*/,
9023  1946 /*untilYear*/,
9024  1 /*untilMonth*/,
9025  1 /*untilDay*/,
9026  0 /*untilTimeCode (0/15)*/,
9027  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9028  },
9029  // -6:00 Louisville C%sT 1961 Jul 23 2:00
9030  {
9031  &kZonePolicyLouisville /*zonePolicy*/,
9032  "C%T" /*format*/,
9033  -1440 /*offsetCode (-21600/15)*/,
9034  0 /*offsetRemainder (-21600%15)*/,
9035  0 /*deltaMinutes*/,
9036  1961 /*untilYear*/,
9037  7 /*untilMonth*/,
9038  23 /*untilDay*/,
9039  480 /*untilTimeCode (7200/15)*/,
9040  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9041  },
9042  // -5:00 - EST 1968
9043  {
9044  nullptr /*zonePolicy*/,
9045  "EST" /*format*/,
9046  -1200 /*offsetCode (-18000/15)*/,
9047  0 /*offsetRemainder (-18000%15)*/,
9048  0 /*deltaMinutes*/,
9049  1968 /*untilYear*/,
9050  1 /*untilMonth*/,
9051  1 /*untilDay*/,
9052  0 /*untilTimeCode (0/15)*/,
9053  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9054  },
9055  // -5:00 US E%sT 1974 Jan 6 2:00
9056  {
9057  &kZonePolicyUS /*zonePolicy*/,
9058  "E%T" /*format*/,
9059  -1200 /*offsetCode (-18000/15)*/,
9060  0 /*offsetRemainder (-18000%15)*/,
9061  0 /*deltaMinutes*/,
9062  1974 /*untilYear*/,
9063  1 /*untilMonth*/,
9064  6 /*untilDay*/,
9065  480 /*untilTimeCode (7200/15)*/,
9066  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9067  },
9068  // -6:00 1:00 CDT 1974 Oct 27 2:00
9069  {
9070  nullptr /*zonePolicy*/,
9071  "CDT" /*format*/,
9072  -1440 /*offsetCode (-21600/15)*/,
9073  0 /*offsetRemainder (-21600%15)*/,
9074  60 /*deltaMinutes*/,
9075  1974 /*untilYear*/,
9076  10 /*untilMonth*/,
9077  27 /*untilDay*/,
9078  480 /*untilTimeCode (7200/15)*/,
9079  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9080  },
9081  // -5:00 US E%sT
9082  {
9083  &kZonePolicyUS /*zonePolicy*/,
9084  "E%T" /*format*/,
9085  -1200 /*offsetCode (-18000/15)*/,
9086  0 /*offsetRemainder (-18000%15)*/,
9087  0 /*deltaMinutes*/,
9088  32767 /*untilYear*/,
9089  1 /*untilMonth*/,
9090  1 /*untilDay*/,
9091  0 /*untilTimeCode (0/15)*/,
9092  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9093  },
9094 
9095 };
9096 
9097 static const char kZoneNameAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = "\x02" "Kentucky/Louisville";
9098 
9099 const complete::ZoneInfo kZoneAmerica_Kentucky_Louisville ACE_TIME_PROGMEM = {
9100  kZoneNameAmerica_Kentucky_Louisville /*name*/,
9101  0x1a21024b /*zoneId*/,
9102  &kZoneContext /*zoneContext*/,
9103  9 /*numEras*/,
9104  kZoneEraAmerica_Kentucky_Louisville /*eras*/,
9105  nullptr /*targetInfo*/,
9106 };
9107 
9108 //---------------------------------------------------------------------------
9109 // Zone name: America/Kentucky/Monticello
9110 // Eras: 5
9111 //---------------------------------------------------------------------------
9112 
9113 static const complete::ZoneEra kZoneEraAmerica_Kentucky_Monticello[] ACE_TIME_PROGMEM = {
9114  // -5:39:24 - LMT 1883 Nov 18 18:00u
9115  {
9116  nullptr /*zonePolicy*/,
9117  "LMT" /*format*/,
9118  -1358 /*offsetCode (-20364/15)*/,
9119  6 /*offsetRemainder (-20364%15)*/,
9120  0 /*deltaMinutes*/,
9121  1883 /*untilYear*/,
9122  11 /*untilMonth*/,
9123  18 /*untilDay*/,
9124  4320 /*untilTimeCode (64800/15)*/,
9125  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
9126  },
9127  // -6:00 US C%sT 1946
9128  {
9129  &kZonePolicyUS /*zonePolicy*/,
9130  "C%T" /*format*/,
9131  -1440 /*offsetCode (-21600/15)*/,
9132  0 /*offsetRemainder (-21600%15)*/,
9133  0 /*deltaMinutes*/,
9134  1946 /*untilYear*/,
9135  1 /*untilMonth*/,
9136  1 /*untilDay*/,
9137  0 /*untilTimeCode (0/15)*/,
9138  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9139  },
9140  // -6:00 - CST 1968
9141  {
9142  nullptr /*zonePolicy*/,
9143  "CST" /*format*/,
9144  -1440 /*offsetCode (-21600/15)*/,
9145  0 /*offsetRemainder (-21600%15)*/,
9146  0 /*deltaMinutes*/,
9147  1968 /*untilYear*/,
9148  1 /*untilMonth*/,
9149  1 /*untilDay*/,
9150  0 /*untilTimeCode (0/15)*/,
9151  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9152  },
9153  // -6:00 US C%sT 2000 Oct 29 2:00
9154  {
9155  &kZonePolicyUS /*zonePolicy*/,
9156  "C%T" /*format*/,
9157  -1440 /*offsetCode (-21600/15)*/,
9158  0 /*offsetRemainder (-21600%15)*/,
9159  0 /*deltaMinutes*/,
9160  2000 /*untilYear*/,
9161  10 /*untilMonth*/,
9162  29 /*untilDay*/,
9163  480 /*untilTimeCode (7200/15)*/,
9164  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9165  },
9166  // -5:00 US E%sT
9167  {
9168  &kZonePolicyUS /*zonePolicy*/,
9169  "E%T" /*format*/,
9170  -1200 /*offsetCode (-18000/15)*/,
9171  0 /*offsetRemainder (-18000%15)*/,
9172  0 /*deltaMinutes*/,
9173  32767 /*untilYear*/,
9174  1 /*untilMonth*/,
9175  1 /*untilDay*/,
9176  0 /*untilTimeCode (0/15)*/,
9177  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9178  },
9179 
9180 };
9181 
9182 static const char kZoneNameAmerica_Kentucky_Monticello[] ACE_TIME_PROGMEM = "\x02" "Kentucky/Monticello";
9183 
9184 const complete::ZoneInfo kZoneAmerica_Kentucky_Monticello ACE_TIME_PROGMEM = {
9185  kZoneNameAmerica_Kentucky_Monticello /*name*/,
9186  0xde71c439 /*zoneId*/,
9187  &kZoneContext /*zoneContext*/,
9188  5 /*numEras*/,
9189  kZoneEraAmerica_Kentucky_Monticello /*eras*/,
9190  nullptr /*targetInfo*/,
9191 };
9192 
9193 //---------------------------------------------------------------------------
9194 // Zone name: America/La_Paz
9195 // Eras: 4
9196 //---------------------------------------------------------------------------
9197 
9198 static const complete::ZoneEra kZoneEraAmerica_La_Paz[] ACE_TIME_PROGMEM = {
9199  // -4:32:36 - LMT 1890
9200  {
9201  nullptr /*zonePolicy*/,
9202  "LMT" /*format*/,
9203  -1091 /*offsetCode (-16356/15)*/,
9204  9 /*offsetRemainder (-16356%15)*/,
9205  0 /*deltaMinutes*/,
9206  1890 /*untilYear*/,
9207  1 /*untilMonth*/,
9208  1 /*untilDay*/,
9209  0 /*untilTimeCode (0/15)*/,
9210  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9211  },
9212  // -4:32:36 - CMT 1931 Oct 15
9213  {
9214  nullptr /*zonePolicy*/,
9215  "CMT" /*format*/,
9216  -1091 /*offsetCode (-16356/15)*/,
9217  9 /*offsetRemainder (-16356%15)*/,
9218  0 /*deltaMinutes*/,
9219  1931 /*untilYear*/,
9220  10 /*untilMonth*/,
9221  15 /*untilDay*/,
9222  0 /*untilTimeCode (0/15)*/,
9223  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9224  },
9225  // -4:32:36 1:00 BST 1932 Mar 21
9226  {
9227  nullptr /*zonePolicy*/,
9228  "BST" /*format*/,
9229  -1091 /*offsetCode (-16356/15)*/,
9230  9 /*offsetRemainder (-16356%15)*/,
9231  60 /*deltaMinutes*/,
9232  1932 /*untilYear*/,
9233  3 /*untilMonth*/,
9234  21 /*untilDay*/,
9235  0 /*untilTimeCode (0/15)*/,
9236  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9237  },
9238  // -4:00 - %z
9239  {
9240  nullptr /*zonePolicy*/,
9241  "" /*format*/,
9242  -960 /*offsetCode (-14400/15)*/,
9243  0 /*offsetRemainder (-14400%15)*/,
9244  0 /*deltaMinutes*/,
9245  32767 /*untilYear*/,
9246  1 /*untilMonth*/,
9247  1 /*untilDay*/,
9248  0 /*untilTimeCode (0/15)*/,
9249  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9250  },
9251 
9252 };
9253 
9254 static const char kZoneNameAmerica_La_Paz[] ACE_TIME_PROGMEM = "\x02" "La_Paz";
9255 
9256 const complete::ZoneInfo kZoneAmerica_La_Paz ACE_TIME_PROGMEM = {
9257  kZoneNameAmerica_La_Paz /*name*/,
9258  0xaa29125d /*zoneId*/,
9259  &kZoneContext /*zoneContext*/,
9260  4 /*numEras*/,
9261  kZoneEraAmerica_La_Paz /*eras*/,
9262  nullptr /*targetInfo*/,
9263 };
9264 
9265 //---------------------------------------------------------------------------
9266 // Zone name: America/Lima
9267 // Eras: 3
9268 //---------------------------------------------------------------------------
9269 
9270 static const complete::ZoneEra kZoneEraAmerica_Lima[] ACE_TIME_PROGMEM = {
9271  // -5:08:12 - LMT 1890
9272  {
9273  nullptr /*zonePolicy*/,
9274  "LMT" /*format*/,
9275  -1233 /*offsetCode (-18492/15)*/,
9276  3 /*offsetRemainder (-18492%15)*/,
9277  0 /*deltaMinutes*/,
9278  1890 /*untilYear*/,
9279  1 /*untilMonth*/,
9280  1 /*untilDay*/,
9281  0 /*untilTimeCode (0/15)*/,
9282  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9283  },
9284  // -5:08:36 - LMT 1908 Jul 28
9285  {
9286  nullptr /*zonePolicy*/,
9287  "LMT" /*format*/,
9288  -1235 /*offsetCode (-18516/15)*/,
9289  9 /*offsetRemainder (-18516%15)*/,
9290  0 /*deltaMinutes*/,
9291  1908 /*untilYear*/,
9292  7 /*untilMonth*/,
9293  28 /*untilDay*/,
9294  0 /*untilTimeCode (0/15)*/,
9295  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9296  },
9297  // -5:00 Peru %z
9298  {
9299  &kZonePolicyPeru /*zonePolicy*/,
9300  "" /*format*/,
9301  -1200 /*offsetCode (-18000/15)*/,
9302  0 /*offsetRemainder (-18000%15)*/,
9303  0 /*deltaMinutes*/,
9304  32767 /*untilYear*/,
9305  1 /*untilMonth*/,
9306  1 /*untilDay*/,
9307  0 /*untilTimeCode (0/15)*/,
9308  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9309  },
9310 
9311 };
9312 
9313 static const char kZoneNameAmerica_Lima[] ACE_TIME_PROGMEM = "\x02" "Lima";
9314 
9315 const complete::ZoneInfo kZoneAmerica_Lima ACE_TIME_PROGMEM = {
9316  kZoneNameAmerica_Lima /*name*/,
9317  0x980468c9 /*zoneId*/,
9318  &kZoneContext /*zoneContext*/,
9319  3 /*numEras*/,
9320  kZoneEraAmerica_Lima /*eras*/,
9321  nullptr /*targetInfo*/,
9322 };
9323 
9324 //---------------------------------------------------------------------------
9325 // Zone name: America/Los_Angeles
9326 // Eras: 4
9327 //---------------------------------------------------------------------------
9328 
9329 static const complete::ZoneEra kZoneEraAmerica_Los_Angeles[] ACE_TIME_PROGMEM = {
9330  // -7:52:58 - LMT 1883 Nov 18 20:00u
9331  {
9332  nullptr /*zonePolicy*/,
9333  "LMT" /*format*/,
9334  -1892 /*offsetCode (-28378/15)*/,
9335  2 /*offsetRemainder (-28378%15)*/,
9336  0 /*deltaMinutes*/,
9337  1883 /*untilYear*/,
9338  11 /*untilMonth*/,
9339  18 /*untilDay*/,
9340  4800 /*untilTimeCode (72000/15)*/,
9341  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
9342  },
9343  // -8:00 US P%sT 1946
9344  {
9345  &kZonePolicyUS /*zonePolicy*/,
9346  "P%T" /*format*/,
9347  -1920 /*offsetCode (-28800/15)*/,
9348  0 /*offsetRemainder (-28800%15)*/,
9349  0 /*deltaMinutes*/,
9350  1946 /*untilYear*/,
9351  1 /*untilMonth*/,
9352  1 /*untilDay*/,
9353  0 /*untilTimeCode (0/15)*/,
9354  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9355  },
9356  // -8:00 CA P%sT 1967
9357  {
9358  &kZonePolicyCA /*zonePolicy*/,
9359  "P%T" /*format*/,
9360  -1920 /*offsetCode (-28800/15)*/,
9361  0 /*offsetRemainder (-28800%15)*/,
9362  0 /*deltaMinutes*/,
9363  1967 /*untilYear*/,
9364  1 /*untilMonth*/,
9365  1 /*untilDay*/,
9366  0 /*untilTimeCode (0/15)*/,
9367  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9368  },
9369  // -8:00 US P%sT
9370  {
9371  &kZonePolicyUS /*zonePolicy*/,
9372  "P%T" /*format*/,
9373  -1920 /*offsetCode (-28800/15)*/,
9374  0 /*offsetRemainder (-28800%15)*/,
9375  0 /*deltaMinutes*/,
9376  32767 /*untilYear*/,
9377  1 /*untilMonth*/,
9378  1 /*untilDay*/,
9379  0 /*untilTimeCode (0/15)*/,
9380  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9381  },
9382 
9383 };
9384 
9385 static const char kZoneNameAmerica_Los_Angeles[] ACE_TIME_PROGMEM = "\x02" "Los_Angeles";
9386 
9387 const complete::ZoneInfo kZoneAmerica_Los_Angeles ACE_TIME_PROGMEM = {
9388  kZoneNameAmerica_Los_Angeles /*name*/,
9389  0xb7f7e8f2 /*zoneId*/,
9390  &kZoneContext /*zoneContext*/,
9391  4 /*numEras*/,
9392  kZoneEraAmerica_Los_Angeles /*eras*/,
9393  nullptr /*targetInfo*/,
9394 };
9395 
9396 //---------------------------------------------------------------------------
9397 // Zone name: America/Maceio
9398 // Eras: 9
9399 //---------------------------------------------------------------------------
9400 
9401 static const complete::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = {
9402  // -2:22:52 - LMT 1914
9403  {
9404  nullptr /*zonePolicy*/,
9405  "LMT" /*format*/,
9406  -572 /*offsetCode (-8572/15)*/,
9407  8 /*offsetRemainder (-8572%15)*/,
9408  0 /*deltaMinutes*/,
9409  1914 /*untilYear*/,
9410  1 /*untilMonth*/,
9411  1 /*untilDay*/,
9412  0 /*untilTimeCode (0/15)*/,
9413  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9414  },
9415  // -3:00 Brazil %z 1990 Sep 17
9416  {
9417  &kZonePolicyBrazil /*zonePolicy*/,
9418  "" /*format*/,
9419  -720 /*offsetCode (-10800/15)*/,
9420  0 /*offsetRemainder (-10800%15)*/,
9421  0 /*deltaMinutes*/,
9422  1990 /*untilYear*/,
9423  9 /*untilMonth*/,
9424  17 /*untilDay*/,
9425  0 /*untilTimeCode (0/15)*/,
9426  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9427  },
9428  // -3:00 - %z 1995 Oct 13
9429  {
9430  nullptr /*zonePolicy*/,
9431  "" /*format*/,
9432  -720 /*offsetCode (-10800/15)*/,
9433  0 /*offsetRemainder (-10800%15)*/,
9434  0 /*deltaMinutes*/,
9435  1995 /*untilYear*/,
9436  10 /*untilMonth*/,
9437  13 /*untilDay*/,
9438  0 /*untilTimeCode (0/15)*/,
9439  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9440  },
9441  // -3:00 Brazil %z 1996 Sep 4
9442  {
9443  &kZonePolicyBrazil /*zonePolicy*/,
9444  "" /*format*/,
9445  -720 /*offsetCode (-10800/15)*/,
9446  0 /*offsetRemainder (-10800%15)*/,
9447  0 /*deltaMinutes*/,
9448  1996 /*untilYear*/,
9449  9 /*untilMonth*/,
9450  4 /*untilDay*/,
9451  0 /*untilTimeCode (0/15)*/,
9452  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9453  },
9454  // -3:00 - %z 1999 Sep 30
9455  {
9456  nullptr /*zonePolicy*/,
9457  "" /*format*/,
9458  -720 /*offsetCode (-10800/15)*/,
9459  0 /*offsetRemainder (-10800%15)*/,
9460  0 /*deltaMinutes*/,
9461  1999 /*untilYear*/,
9462  9 /*untilMonth*/,
9463  30 /*untilDay*/,
9464  0 /*untilTimeCode (0/15)*/,
9465  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9466  },
9467  // -3:00 Brazil %z 2000 Oct 22
9468  {
9469  &kZonePolicyBrazil /*zonePolicy*/,
9470  "" /*format*/,
9471  -720 /*offsetCode (-10800/15)*/,
9472  0 /*offsetRemainder (-10800%15)*/,
9473  0 /*deltaMinutes*/,
9474  2000 /*untilYear*/,
9475  10 /*untilMonth*/,
9476  22 /*untilDay*/,
9477  0 /*untilTimeCode (0/15)*/,
9478  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9479  },
9480  // -3:00 - %z 2001 Sep 13
9481  {
9482  nullptr /*zonePolicy*/,
9483  "" /*format*/,
9484  -720 /*offsetCode (-10800/15)*/,
9485  0 /*offsetRemainder (-10800%15)*/,
9486  0 /*deltaMinutes*/,
9487  2001 /*untilYear*/,
9488  9 /*untilMonth*/,
9489  13 /*untilDay*/,
9490  0 /*untilTimeCode (0/15)*/,
9491  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9492  },
9493  // -3:00 Brazil %z 2002 Oct 1
9494  {
9495  &kZonePolicyBrazil /*zonePolicy*/,
9496  "" /*format*/,
9497  -720 /*offsetCode (-10800/15)*/,
9498  0 /*offsetRemainder (-10800%15)*/,
9499  0 /*deltaMinutes*/,
9500  2002 /*untilYear*/,
9501  10 /*untilMonth*/,
9502  1 /*untilDay*/,
9503  0 /*untilTimeCode (0/15)*/,
9504  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9505  },
9506  // -3:00 - %z
9507  {
9508  nullptr /*zonePolicy*/,
9509  "" /*format*/,
9510  -720 /*offsetCode (-10800/15)*/,
9511  0 /*offsetRemainder (-10800%15)*/,
9512  0 /*deltaMinutes*/,
9513  32767 /*untilYear*/,
9514  1 /*untilMonth*/,
9515  1 /*untilDay*/,
9516  0 /*untilTimeCode (0/15)*/,
9517  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9518  },
9519 
9520 };
9521 
9522 static const char kZoneNameAmerica_Maceio[] ACE_TIME_PROGMEM = "\x02" "Maceio";
9523 
9524 const complete::ZoneInfo kZoneAmerica_Maceio ACE_TIME_PROGMEM = {
9525  kZoneNameAmerica_Maceio /*name*/,
9526  0xac80c6d4 /*zoneId*/,
9527  &kZoneContext /*zoneContext*/,
9528  9 /*numEras*/,
9529  kZoneEraAmerica_Maceio /*eras*/,
9530  nullptr /*targetInfo*/,
9531 };
9532 
9533 //---------------------------------------------------------------------------
9534 // Zone name: America/Managua
9535 // Eras: 9
9536 //---------------------------------------------------------------------------
9537 
9538 static const complete::ZoneEra kZoneEraAmerica_Managua[] ACE_TIME_PROGMEM = {
9539  // -5:45:08 - LMT 1890
9540  {
9541  nullptr /*zonePolicy*/,
9542  "LMT" /*format*/,
9543  -1381 /*offsetCode (-20708/15)*/,
9544  7 /*offsetRemainder (-20708%15)*/,
9545  0 /*deltaMinutes*/,
9546  1890 /*untilYear*/,
9547  1 /*untilMonth*/,
9548  1 /*untilDay*/,
9549  0 /*untilTimeCode (0/15)*/,
9550  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9551  },
9552  // -5:45:12 - MMT 1934 Jun 23
9553  {
9554  nullptr /*zonePolicy*/,
9555  "MMT" /*format*/,
9556  -1381 /*offsetCode (-20712/15)*/,
9557  3 /*offsetRemainder (-20712%15)*/,
9558  0 /*deltaMinutes*/,
9559  1934 /*untilYear*/,
9560  6 /*untilMonth*/,
9561  23 /*untilDay*/,
9562  0 /*untilTimeCode (0/15)*/,
9563  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9564  },
9565  // -6:00 - CST 1973 May
9566  {
9567  nullptr /*zonePolicy*/,
9568  "CST" /*format*/,
9569  -1440 /*offsetCode (-21600/15)*/,
9570  0 /*offsetRemainder (-21600%15)*/,
9571  0 /*deltaMinutes*/,
9572  1973 /*untilYear*/,
9573  5 /*untilMonth*/,
9574  1 /*untilDay*/,
9575  0 /*untilTimeCode (0/15)*/,
9576  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9577  },
9578  // -5:00 - EST 1975 Feb 16
9579  {
9580  nullptr /*zonePolicy*/,
9581  "EST" /*format*/,
9582  -1200 /*offsetCode (-18000/15)*/,
9583  0 /*offsetRemainder (-18000%15)*/,
9584  0 /*deltaMinutes*/,
9585  1975 /*untilYear*/,
9586  2 /*untilMonth*/,
9587  16 /*untilDay*/,
9588  0 /*untilTimeCode (0/15)*/,
9589  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9590  },
9591  // -6:00 Nic C%sT 1992 Jan 1 4:00
9592  {
9593  &kZonePolicyNic /*zonePolicy*/,
9594  "C%T" /*format*/,
9595  -1440 /*offsetCode (-21600/15)*/,
9596  0 /*offsetRemainder (-21600%15)*/,
9597  0 /*deltaMinutes*/,
9598  1992 /*untilYear*/,
9599  1 /*untilMonth*/,
9600  1 /*untilDay*/,
9601  960 /*untilTimeCode (14400/15)*/,
9602  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9603  },
9604  // -5:00 - EST 1992 Sep 24
9605  {
9606  nullptr /*zonePolicy*/,
9607  "EST" /*format*/,
9608  -1200 /*offsetCode (-18000/15)*/,
9609  0 /*offsetRemainder (-18000%15)*/,
9610  0 /*deltaMinutes*/,
9611  1992 /*untilYear*/,
9612  9 /*untilMonth*/,
9613  24 /*untilDay*/,
9614  0 /*untilTimeCode (0/15)*/,
9615  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9616  },
9617  // -6:00 - CST 1993
9618  {
9619  nullptr /*zonePolicy*/,
9620  "CST" /*format*/,
9621  -1440 /*offsetCode (-21600/15)*/,
9622  0 /*offsetRemainder (-21600%15)*/,
9623  0 /*deltaMinutes*/,
9624  1993 /*untilYear*/,
9625  1 /*untilMonth*/,
9626  1 /*untilDay*/,
9627  0 /*untilTimeCode (0/15)*/,
9628  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9629  },
9630  // -5:00 - EST 1997
9631  {
9632  nullptr /*zonePolicy*/,
9633  "EST" /*format*/,
9634  -1200 /*offsetCode (-18000/15)*/,
9635  0 /*offsetRemainder (-18000%15)*/,
9636  0 /*deltaMinutes*/,
9637  1997 /*untilYear*/,
9638  1 /*untilMonth*/,
9639  1 /*untilDay*/,
9640  0 /*untilTimeCode (0/15)*/,
9641  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9642  },
9643  // -6:00 Nic C%sT
9644  {
9645  &kZonePolicyNic /*zonePolicy*/,
9646  "C%T" /*format*/,
9647  -1440 /*offsetCode (-21600/15)*/,
9648  0 /*offsetRemainder (-21600%15)*/,
9649  0 /*deltaMinutes*/,
9650  32767 /*untilYear*/,
9651  1 /*untilMonth*/,
9652  1 /*untilDay*/,
9653  0 /*untilTimeCode (0/15)*/,
9654  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9655  },
9656 
9657 };
9658 
9659 static const char kZoneNameAmerica_Managua[] ACE_TIME_PROGMEM = "\x02" "Managua";
9660 
9661 const complete::ZoneInfo kZoneAmerica_Managua ACE_TIME_PROGMEM = {
9662  kZoneNameAmerica_Managua /*name*/,
9663  0x3d5e7600 /*zoneId*/,
9664  &kZoneContext /*zoneContext*/,
9665  9 /*numEras*/,
9666  kZoneEraAmerica_Managua /*eras*/,
9667  nullptr /*targetInfo*/,
9668 };
9669 
9670 //---------------------------------------------------------------------------
9671 // Zone name: America/Manaus
9672 // Eras: 5
9673 //---------------------------------------------------------------------------
9674 
9675 static const complete::ZoneEra kZoneEraAmerica_Manaus[] ACE_TIME_PROGMEM = {
9676  // -4:00:04 - LMT 1914
9677  {
9678  nullptr /*zonePolicy*/,
9679  "LMT" /*format*/,
9680  -961 /*offsetCode (-14404/15)*/,
9681  11 /*offsetRemainder (-14404%15)*/,
9682  0 /*deltaMinutes*/,
9683  1914 /*untilYear*/,
9684  1 /*untilMonth*/,
9685  1 /*untilDay*/,
9686  0 /*untilTimeCode (0/15)*/,
9687  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9688  },
9689  // -4:00 Brazil %z 1988 Sep 12
9690  {
9691  &kZonePolicyBrazil /*zonePolicy*/,
9692  "" /*format*/,
9693  -960 /*offsetCode (-14400/15)*/,
9694  0 /*offsetRemainder (-14400%15)*/,
9695  0 /*deltaMinutes*/,
9696  1988 /*untilYear*/,
9697  9 /*untilMonth*/,
9698  12 /*untilDay*/,
9699  0 /*untilTimeCode (0/15)*/,
9700  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9701  },
9702  // -4:00 - %z 1993 Sep 28
9703  {
9704  nullptr /*zonePolicy*/,
9705  "" /*format*/,
9706  -960 /*offsetCode (-14400/15)*/,
9707  0 /*offsetRemainder (-14400%15)*/,
9708  0 /*deltaMinutes*/,
9709  1993 /*untilYear*/,
9710  9 /*untilMonth*/,
9711  28 /*untilDay*/,
9712  0 /*untilTimeCode (0/15)*/,
9713  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9714  },
9715  // -4:00 Brazil %z 1994 Sep 22
9716  {
9717  &kZonePolicyBrazil /*zonePolicy*/,
9718  "" /*format*/,
9719  -960 /*offsetCode (-14400/15)*/,
9720  0 /*offsetRemainder (-14400%15)*/,
9721  0 /*deltaMinutes*/,
9722  1994 /*untilYear*/,
9723  9 /*untilMonth*/,
9724  22 /*untilDay*/,
9725  0 /*untilTimeCode (0/15)*/,
9726  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9727  },
9728  // -4:00 - %z
9729  {
9730  nullptr /*zonePolicy*/,
9731  "" /*format*/,
9732  -960 /*offsetCode (-14400/15)*/,
9733  0 /*offsetRemainder (-14400%15)*/,
9734  0 /*deltaMinutes*/,
9735  32767 /*untilYear*/,
9736  1 /*untilMonth*/,
9737  1 /*untilDay*/,
9738  0 /*untilTimeCode (0/15)*/,
9739  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9740  },
9741 
9742 };
9743 
9744 static const char kZoneNameAmerica_Manaus[] ACE_TIME_PROGMEM = "\x02" "Manaus";
9745 
9746 const complete::ZoneInfo kZoneAmerica_Manaus ACE_TIME_PROGMEM = {
9747  kZoneNameAmerica_Manaus /*name*/,
9748  0xac86bf8b /*zoneId*/,
9749  &kZoneContext /*zoneContext*/,
9750  5 /*numEras*/,
9751  kZoneEraAmerica_Manaus /*eras*/,
9752  nullptr /*targetInfo*/,
9753 };
9754 
9755 //---------------------------------------------------------------------------
9756 // Zone name: America/Martinique
9757 // Eras: 5
9758 //---------------------------------------------------------------------------
9759 
9760 static const complete::ZoneEra kZoneEraAmerica_Martinique[] ACE_TIME_PROGMEM = {
9761  // -4:04:20 - LMT 1890
9762  {
9763  nullptr /*zonePolicy*/,
9764  "LMT" /*format*/,
9765  -978 /*offsetCode (-14660/15)*/,
9766  10 /*offsetRemainder (-14660%15)*/,
9767  0 /*deltaMinutes*/,
9768  1890 /*untilYear*/,
9769  1 /*untilMonth*/,
9770  1 /*untilDay*/,
9771  0 /*untilTimeCode (0/15)*/,
9772  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9773  },
9774  // -4:04:20 - FFMT 1911 May 1
9775  {
9776  nullptr /*zonePolicy*/,
9777  "FFMT" /*format*/,
9778  -978 /*offsetCode (-14660/15)*/,
9779  10 /*offsetRemainder (-14660%15)*/,
9780  0 /*deltaMinutes*/,
9781  1911 /*untilYear*/,
9782  5 /*untilMonth*/,
9783  1 /*untilDay*/,
9784  0 /*untilTimeCode (0/15)*/,
9785  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9786  },
9787  // -4:00 - AST 1980 Apr 6
9788  {
9789  nullptr /*zonePolicy*/,
9790  "AST" /*format*/,
9791  -960 /*offsetCode (-14400/15)*/,
9792  0 /*offsetRemainder (-14400%15)*/,
9793  0 /*deltaMinutes*/,
9794  1980 /*untilYear*/,
9795  4 /*untilMonth*/,
9796  6 /*untilDay*/,
9797  0 /*untilTimeCode (0/15)*/,
9798  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9799  },
9800  // -4:00 1:00 ADT 1980 Sep 28
9801  {
9802  nullptr /*zonePolicy*/,
9803  "ADT" /*format*/,
9804  -960 /*offsetCode (-14400/15)*/,
9805  0 /*offsetRemainder (-14400%15)*/,
9806  60 /*deltaMinutes*/,
9807  1980 /*untilYear*/,
9808  9 /*untilMonth*/,
9809  28 /*untilDay*/,
9810  0 /*untilTimeCode (0/15)*/,
9811  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9812  },
9813  // -4:00 - AST
9814  {
9815  nullptr /*zonePolicy*/,
9816  "AST" /*format*/,
9817  -960 /*offsetCode (-14400/15)*/,
9818  0 /*offsetRemainder (-14400%15)*/,
9819  0 /*deltaMinutes*/,
9820  32767 /*untilYear*/,
9821  1 /*untilMonth*/,
9822  1 /*untilDay*/,
9823  0 /*untilTimeCode (0/15)*/,
9824  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9825  },
9826 
9827 };
9828 
9829 static const char kZoneNameAmerica_Martinique[] ACE_TIME_PROGMEM = "\x02" "Martinique";
9830 
9831 const complete::ZoneInfo kZoneAmerica_Martinique ACE_TIME_PROGMEM = {
9832  kZoneNameAmerica_Martinique /*name*/,
9833  0x551e84c5 /*zoneId*/,
9834  &kZoneContext /*zoneContext*/,
9835  5 /*numEras*/,
9836  kZoneEraAmerica_Martinique /*eras*/,
9837  nullptr /*targetInfo*/,
9838 };
9839 
9840 //---------------------------------------------------------------------------
9841 // Zone name: America/Matamoros
9842 // Eras: 5
9843 //---------------------------------------------------------------------------
9844 
9845 static const complete::ZoneEra kZoneEraAmerica_Matamoros[] ACE_TIME_PROGMEM = {
9846  // -6:30:00 - LMT 1922 Jan 1 6:00u
9847  {
9848  nullptr /*zonePolicy*/,
9849  "LMT" /*format*/,
9850  -1560 /*offsetCode (-23400/15)*/,
9851  0 /*offsetRemainder (-23400%15)*/,
9852  0 /*deltaMinutes*/,
9853  1922 /*untilYear*/,
9854  1 /*untilMonth*/,
9855  1 /*untilDay*/,
9856  1440 /*untilTimeCode (21600/15)*/,
9857  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
9858  },
9859  // -6:00 - CST 1988
9860  {
9861  nullptr /*zonePolicy*/,
9862  "CST" /*format*/,
9863  -1440 /*offsetCode (-21600/15)*/,
9864  0 /*offsetRemainder (-21600%15)*/,
9865  0 /*deltaMinutes*/,
9866  1988 /*untilYear*/,
9867  1 /*untilMonth*/,
9868  1 /*untilDay*/,
9869  0 /*untilTimeCode (0/15)*/,
9870  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9871  },
9872  // -6:00 US C%sT 1989
9873  {
9874  &kZonePolicyUS /*zonePolicy*/,
9875  "C%T" /*format*/,
9876  -1440 /*offsetCode (-21600/15)*/,
9877  0 /*offsetRemainder (-21600%15)*/,
9878  0 /*deltaMinutes*/,
9879  1989 /*untilYear*/,
9880  1 /*untilMonth*/,
9881  1 /*untilDay*/,
9882  0 /*untilTimeCode (0/15)*/,
9883  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9884  },
9885  // -6:00 Mexico C%sT 2010
9886  {
9887  &kZonePolicyMexico /*zonePolicy*/,
9888  "C%T" /*format*/,
9889  -1440 /*offsetCode (-21600/15)*/,
9890  0 /*offsetRemainder (-21600%15)*/,
9891  0 /*deltaMinutes*/,
9892  2010 /*untilYear*/,
9893  1 /*untilMonth*/,
9894  1 /*untilDay*/,
9895  0 /*untilTimeCode (0/15)*/,
9896  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9897  },
9898  // -6:00 US C%sT
9899  {
9900  &kZonePolicyUS /*zonePolicy*/,
9901  "C%T" /*format*/,
9902  -1440 /*offsetCode (-21600/15)*/,
9903  0 /*offsetRemainder (-21600%15)*/,
9904  0 /*deltaMinutes*/,
9905  32767 /*untilYear*/,
9906  1 /*untilMonth*/,
9907  1 /*untilDay*/,
9908  0 /*untilTimeCode (0/15)*/,
9909  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9910  },
9911 
9912 };
9913 
9914 static const char kZoneNameAmerica_Matamoros[] ACE_TIME_PROGMEM = "\x02" "Matamoros";
9915 
9916 const complete::ZoneInfo kZoneAmerica_Matamoros ACE_TIME_PROGMEM = {
9917  kZoneNameAmerica_Matamoros /*name*/,
9918  0xdd1b0259 /*zoneId*/,
9919  &kZoneContext /*zoneContext*/,
9920  5 /*numEras*/,
9921  kZoneEraAmerica_Matamoros /*eras*/,
9922  nullptr /*targetInfo*/,
9923 };
9924 
9925 //---------------------------------------------------------------------------
9926 // Zone name: America/Mazatlan
9927 // Eras: 7
9928 //---------------------------------------------------------------------------
9929 
9930 static const complete::ZoneEra kZoneEraAmerica_Mazatlan[] ACE_TIME_PROGMEM = {
9931  // -7:05:40 - LMT 1922 Jan 1 7:00u
9932  {
9933  nullptr /*zonePolicy*/,
9934  "LMT" /*format*/,
9935  -1703 /*offsetCode (-25540/15)*/,
9936  5 /*offsetRemainder (-25540%15)*/,
9937  0 /*deltaMinutes*/,
9938  1922 /*untilYear*/,
9939  1 /*untilMonth*/,
9940  1 /*untilDay*/,
9941  1680 /*untilTimeCode (25200/15)*/,
9942  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
9943  },
9944  // -7:00 - MST 1927 Jun 10
9945  {
9946  nullptr /*zonePolicy*/,
9947  "MST" /*format*/,
9948  -1680 /*offsetCode (-25200/15)*/,
9949  0 /*offsetRemainder (-25200%15)*/,
9950  0 /*deltaMinutes*/,
9951  1927 /*untilYear*/,
9952  6 /*untilMonth*/,
9953  10 /*untilDay*/,
9954  0 /*untilTimeCode (0/15)*/,
9955  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9956  },
9957  // -6:00 - CST 1930 Nov 15
9958  {
9959  nullptr /*zonePolicy*/,
9960  "CST" /*format*/,
9961  -1440 /*offsetCode (-21600/15)*/,
9962  0 /*offsetRemainder (-21600%15)*/,
9963  0 /*deltaMinutes*/,
9964  1930 /*untilYear*/,
9965  11 /*untilMonth*/,
9966  15 /*untilDay*/,
9967  0 /*untilTimeCode (0/15)*/,
9968  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9969  },
9970  // -7:00 Mexico M%sT 1932 Apr 1
9971  {
9972  &kZonePolicyMexico /*zonePolicy*/,
9973  "M%T" /*format*/,
9974  -1680 /*offsetCode (-25200/15)*/,
9975  0 /*offsetRemainder (-25200%15)*/,
9976  0 /*deltaMinutes*/,
9977  1932 /*untilYear*/,
9978  4 /*untilMonth*/,
9979  1 /*untilDay*/,
9980  0 /*untilTimeCode (0/15)*/,
9981  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9982  },
9983  // -6:00 - CST 1942 Apr 24
9984  {
9985  nullptr /*zonePolicy*/,
9986  "CST" /*format*/,
9987  -1440 /*offsetCode (-21600/15)*/,
9988  0 /*offsetRemainder (-21600%15)*/,
9989  0 /*deltaMinutes*/,
9990  1942 /*untilYear*/,
9991  4 /*untilMonth*/,
9992  24 /*untilDay*/,
9993  0 /*untilTimeCode (0/15)*/,
9994  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
9995  },
9996  // -7:00 - MST 1970
9997  {
9998  nullptr /*zonePolicy*/,
9999  "MST" /*format*/,
10000  -1680 /*offsetCode (-25200/15)*/,
10001  0 /*offsetRemainder (-25200%15)*/,
10002  0 /*deltaMinutes*/,
10003  1970 /*untilYear*/,
10004  1 /*untilMonth*/,
10005  1 /*untilDay*/,
10006  0 /*untilTimeCode (0/15)*/,
10007  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10008  },
10009  // -7:00 Mexico M%sT
10010  {
10011  &kZonePolicyMexico /*zonePolicy*/,
10012  "M%T" /*format*/,
10013  -1680 /*offsetCode (-25200/15)*/,
10014  0 /*offsetRemainder (-25200%15)*/,
10015  0 /*deltaMinutes*/,
10016  32767 /*untilYear*/,
10017  1 /*untilMonth*/,
10018  1 /*untilDay*/,
10019  0 /*untilTimeCode (0/15)*/,
10020  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10021  },
10022 
10023 };
10024 
10025 static const char kZoneNameAmerica_Mazatlan[] ACE_TIME_PROGMEM = "\x02" "Mazatlan";
10026 
10027 const complete::ZoneInfo kZoneAmerica_Mazatlan ACE_TIME_PROGMEM = {
10028  kZoneNameAmerica_Mazatlan /*name*/,
10029  0x0532189e /*zoneId*/,
10030  &kZoneContext /*zoneContext*/,
10031  7 /*numEras*/,
10032  kZoneEraAmerica_Mazatlan /*eras*/,
10033  nullptr /*targetInfo*/,
10034 };
10035 
10036 //---------------------------------------------------------------------------
10037 // Zone name: America/Menominee
10038 // Eras: 5
10039 //---------------------------------------------------------------------------
10040 
10041 static const complete::ZoneEra kZoneEraAmerica_Menominee[] ACE_TIME_PROGMEM = {
10042  // -5:50:27 - LMT 1885 Sep 18 12:00
10043  {
10044  nullptr /*zonePolicy*/,
10045  "LMT" /*format*/,
10046  -1402 /*offsetCode (-21027/15)*/,
10047  3 /*offsetRemainder (-21027%15)*/,
10048  0 /*deltaMinutes*/,
10049  1885 /*untilYear*/,
10050  9 /*untilMonth*/,
10051  18 /*untilDay*/,
10052  2880 /*untilTimeCode (43200/15)*/,
10053  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10054  },
10055  // -6:00 US C%sT 1946
10056  {
10057  &kZonePolicyUS /*zonePolicy*/,
10058  "C%T" /*format*/,
10059  -1440 /*offsetCode (-21600/15)*/,
10060  0 /*offsetRemainder (-21600%15)*/,
10061  0 /*deltaMinutes*/,
10062  1946 /*untilYear*/,
10063  1 /*untilMonth*/,
10064  1 /*untilDay*/,
10065  0 /*untilTimeCode (0/15)*/,
10066  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10067  },
10068  // -6:00 Menominee C%sT 1969 Apr 27 2:00
10069  {
10070  &kZonePolicyMenominee /*zonePolicy*/,
10071  "C%T" /*format*/,
10072  -1440 /*offsetCode (-21600/15)*/,
10073  0 /*offsetRemainder (-21600%15)*/,
10074  0 /*deltaMinutes*/,
10075  1969 /*untilYear*/,
10076  4 /*untilMonth*/,
10077  27 /*untilDay*/,
10078  480 /*untilTimeCode (7200/15)*/,
10079  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10080  },
10081  // -5:00 - EST 1973 Apr 29 2:00
10082  {
10083  nullptr /*zonePolicy*/,
10084  "EST" /*format*/,
10085  -1200 /*offsetCode (-18000/15)*/,
10086  0 /*offsetRemainder (-18000%15)*/,
10087  0 /*deltaMinutes*/,
10088  1973 /*untilYear*/,
10089  4 /*untilMonth*/,
10090  29 /*untilDay*/,
10091  480 /*untilTimeCode (7200/15)*/,
10092  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10093  },
10094  // -6:00 US C%sT
10095  {
10096  &kZonePolicyUS /*zonePolicy*/,
10097  "C%T" /*format*/,
10098  -1440 /*offsetCode (-21600/15)*/,
10099  0 /*offsetRemainder (-21600%15)*/,
10100  0 /*deltaMinutes*/,
10101  32767 /*untilYear*/,
10102  1 /*untilMonth*/,
10103  1 /*untilDay*/,
10104  0 /*untilTimeCode (0/15)*/,
10105  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10106  },
10107 
10108 };
10109 
10110 static const char kZoneNameAmerica_Menominee[] ACE_TIME_PROGMEM = "\x02" "Menominee";
10111 
10112 const complete::ZoneInfo kZoneAmerica_Menominee ACE_TIME_PROGMEM = {
10113  kZoneNameAmerica_Menominee /*name*/,
10114  0xe0e9c583 /*zoneId*/,
10115  &kZoneContext /*zoneContext*/,
10116  5 /*numEras*/,
10117  kZoneEraAmerica_Menominee /*eras*/,
10118  nullptr /*targetInfo*/,
10119 };
10120 
10121 //---------------------------------------------------------------------------
10122 // Zone name: America/Merida
10123 // Eras: 4
10124 //---------------------------------------------------------------------------
10125 
10126 static const complete::ZoneEra kZoneEraAmerica_Merida[] ACE_TIME_PROGMEM = {
10127  // -5:58:28 - LMT 1922 Jan 1 6:00u
10128  {
10129  nullptr /*zonePolicy*/,
10130  "LMT" /*format*/,
10131  -1434 /*offsetCode (-21508/15)*/,
10132  2 /*offsetRemainder (-21508%15)*/,
10133  0 /*deltaMinutes*/,
10134  1922 /*untilYear*/,
10135  1 /*untilMonth*/,
10136  1 /*untilDay*/,
10137  1440 /*untilTimeCode (21600/15)*/,
10138  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
10139  },
10140  // -6:00 - CST 1981 Dec 26 2:00
10141  {
10142  nullptr /*zonePolicy*/,
10143  "CST" /*format*/,
10144  -1440 /*offsetCode (-21600/15)*/,
10145  0 /*offsetRemainder (-21600%15)*/,
10146  0 /*deltaMinutes*/,
10147  1981 /*untilYear*/,
10148  12 /*untilMonth*/,
10149  26 /*untilDay*/,
10150  480 /*untilTimeCode (7200/15)*/,
10151  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10152  },
10153  // -5:00 - EST 1982 Nov 2 2:00
10154  {
10155  nullptr /*zonePolicy*/,
10156  "EST" /*format*/,
10157  -1200 /*offsetCode (-18000/15)*/,
10158  0 /*offsetRemainder (-18000%15)*/,
10159  0 /*deltaMinutes*/,
10160  1982 /*untilYear*/,
10161  11 /*untilMonth*/,
10162  2 /*untilDay*/,
10163  480 /*untilTimeCode (7200/15)*/,
10164  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10165  },
10166  // -6:00 Mexico C%sT
10167  {
10168  &kZonePolicyMexico /*zonePolicy*/,
10169  "C%T" /*format*/,
10170  -1440 /*offsetCode (-21600/15)*/,
10171  0 /*offsetRemainder (-21600%15)*/,
10172  0 /*deltaMinutes*/,
10173  32767 /*untilYear*/,
10174  1 /*untilMonth*/,
10175  1 /*untilDay*/,
10176  0 /*untilTimeCode (0/15)*/,
10177  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10178  },
10179 
10180 };
10181 
10182 static const char kZoneNameAmerica_Merida[] ACE_TIME_PROGMEM = "\x02" "Merida";
10183 
10184 const complete::ZoneInfo kZoneAmerica_Merida ACE_TIME_PROGMEM = {
10185  kZoneNameAmerica_Merida /*name*/,
10186  0xacd172d8 /*zoneId*/,
10187  &kZoneContext /*zoneContext*/,
10188  4 /*numEras*/,
10189  kZoneEraAmerica_Merida /*eras*/,
10190  nullptr /*targetInfo*/,
10191 };
10192 
10193 //---------------------------------------------------------------------------
10194 // Zone name: America/Metlakatla
10195 // Eras: 10
10196 //---------------------------------------------------------------------------
10197 
10198 static const complete::ZoneEra kZoneEraAmerica_Metlakatla[] ACE_TIME_PROGMEM = {
10199  // 15:13:42 - LMT 1867 Oct 19 15:44:55
10200  {
10201  nullptr /*zonePolicy*/,
10202  "LMT" /*format*/,
10203  3654 /*offsetCode (54822/15)*/,
10204  12 /*offsetRemainder (54822%15)*/,
10205  0 /*deltaMinutes*/,
10206  1867 /*untilYear*/,
10207  10 /*untilMonth*/,
10208  19 /*untilDay*/,
10209  3779 /*untilTimeCode (56695/15)*/,
10210  10 /*untilTimeModifier (kAtcSuffixW + seconds=10)*/,
10211  },
10212  // -8:46:18 - LMT 1900 Aug 20 12:00
10213  {
10214  nullptr /*zonePolicy*/,
10215  "LMT" /*format*/,
10216  -2106 /*offsetCode (-31578/15)*/,
10217  12 /*offsetRemainder (-31578%15)*/,
10218  0 /*deltaMinutes*/,
10219  1900 /*untilYear*/,
10220  8 /*untilMonth*/,
10221  20 /*untilDay*/,
10222  2880 /*untilTimeCode (43200/15)*/,
10223  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10224  },
10225  // -8:00 - PST 1942
10226  {
10227  nullptr /*zonePolicy*/,
10228  "PST" /*format*/,
10229  -1920 /*offsetCode (-28800/15)*/,
10230  0 /*offsetRemainder (-28800%15)*/,
10231  0 /*deltaMinutes*/,
10232  1942 /*untilYear*/,
10233  1 /*untilMonth*/,
10234  1 /*untilDay*/,
10235  0 /*untilTimeCode (0/15)*/,
10236  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10237  },
10238  // -8:00 US P%sT 1946
10239  {
10240  &kZonePolicyUS /*zonePolicy*/,
10241  "P%T" /*format*/,
10242  -1920 /*offsetCode (-28800/15)*/,
10243  0 /*offsetRemainder (-28800%15)*/,
10244  0 /*deltaMinutes*/,
10245  1946 /*untilYear*/,
10246  1 /*untilMonth*/,
10247  1 /*untilDay*/,
10248  0 /*untilTimeCode (0/15)*/,
10249  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10250  },
10251  // -8:00 - PST 1969
10252  {
10253  nullptr /*zonePolicy*/,
10254  "PST" /*format*/,
10255  -1920 /*offsetCode (-28800/15)*/,
10256  0 /*offsetRemainder (-28800%15)*/,
10257  0 /*deltaMinutes*/,
10258  1969 /*untilYear*/,
10259  1 /*untilMonth*/,
10260  1 /*untilDay*/,
10261  0 /*untilTimeCode (0/15)*/,
10262  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10263  },
10264  // -8:00 US P%sT 1983 Oct 30 2:00
10265  {
10266  &kZonePolicyUS /*zonePolicy*/,
10267  "P%T" /*format*/,
10268  -1920 /*offsetCode (-28800/15)*/,
10269  0 /*offsetRemainder (-28800%15)*/,
10270  0 /*deltaMinutes*/,
10271  1983 /*untilYear*/,
10272  10 /*untilMonth*/,
10273  30 /*untilDay*/,
10274  480 /*untilTimeCode (7200/15)*/,
10275  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10276  },
10277  // -8:00 - PST 2015 Nov 1 2:00
10278  {
10279  nullptr /*zonePolicy*/,
10280  "PST" /*format*/,
10281  -1920 /*offsetCode (-28800/15)*/,
10282  0 /*offsetRemainder (-28800%15)*/,
10283  0 /*deltaMinutes*/,
10284  2015 /*untilYear*/,
10285  11 /*untilMonth*/,
10286  1 /*untilDay*/,
10287  480 /*untilTimeCode (7200/15)*/,
10288  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10289  },
10290  // -9:00 US AK%sT 2018 Nov 4 2:00
10291  {
10292  &kZonePolicyUS /*zonePolicy*/,
10293  "AK%T" /*format*/,
10294  -2160 /*offsetCode (-32400/15)*/,
10295  0 /*offsetRemainder (-32400%15)*/,
10296  0 /*deltaMinutes*/,
10297  2018 /*untilYear*/,
10298  11 /*untilMonth*/,
10299  4 /*untilDay*/,
10300  480 /*untilTimeCode (7200/15)*/,
10301  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10302  },
10303  // -8:00 - PST 2019 Jan 20 2:00
10304  {
10305  nullptr /*zonePolicy*/,
10306  "PST" /*format*/,
10307  -1920 /*offsetCode (-28800/15)*/,
10308  0 /*offsetRemainder (-28800%15)*/,
10309  0 /*deltaMinutes*/,
10310  2019 /*untilYear*/,
10311  1 /*untilMonth*/,
10312  20 /*untilDay*/,
10313  480 /*untilTimeCode (7200/15)*/,
10314  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10315  },
10316  // -9:00 US AK%sT
10317  {
10318  &kZonePolicyUS /*zonePolicy*/,
10319  "AK%T" /*format*/,
10320  -2160 /*offsetCode (-32400/15)*/,
10321  0 /*offsetRemainder (-32400%15)*/,
10322  0 /*deltaMinutes*/,
10323  32767 /*untilYear*/,
10324  1 /*untilMonth*/,
10325  1 /*untilDay*/,
10326  0 /*untilTimeCode (0/15)*/,
10327  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10328  },
10329 
10330 };
10331 
10332 static const char kZoneNameAmerica_Metlakatla[] ACE_TIME_PROGMEM = "\x02" "Metlakatla";
10333 
10334 const complete::ZoneInfo kZoneAmerica_Metlakatla ACE_TIME_PROGMEM = {
10335  kZoneNameAmerica_Metlakatla /*name*/,
10336  0x84de2686 /*zoneId*/,
10337  &kZoneContext /*zoneContext*/,
10338  10 /*numEras*/,
10339  kZoneEraAmerica_Metlakatla /*eras*/,
10340  nullptr /*targetInfo*/,
10341 };
10342 
10343 //---------------------------------------------------------------------------
10344 // Zone name: America/Mexico_City
10345 // Eras: 7
10346 //---------------------------------------------------------------------------
10347 
10348 static const complete::ZoneEra kZoneEraAmerica_Mexico_City[] ACE_TIME_PROGMEM = {
10349  // -6:36:36 - LMT 1922 Jan 1 7:00u
10350  {
10351  nullptr /*zonePolicy*/,
10352  "LMT" /*format*/,
10353  -1587 /*offsetCode (-23796/15)*/,
10354  9 /*offsetRemainder (-23796%15)*/,
10355  0 /*deltaMinutes*/,
10356  1922 /*untilYear*/,
10357  1 /*untilMonth*/,
10358  1 /*untilDay*/,
10359  1680 /*untilTimeCode (25200/15)*/,
10360  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
10361  },
10362  // -7:00 - MST 1927 Jun 10
10363  {
10364  nullptr /*zonePolicy*/,
10365  "MST" /*format*/,
10366  -1680 /*offsetCode (-25200/15)*/,
10367  0 /*offsetRemainder (-25200%15)*/,
10368  0 /*deltaMinutes*/,
10369  1927 /*untilYear*/,
10370  6 /*untilMonth*/,
10371  10 /*untilDay*/,
10372  0 /*untilTimeCode (0/15)*/,
10373  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10374  },
10375  // -6:00 - CST 1930 Nov 15
10376  {
10377  nullptr /*zonePolicy*/,
10378  "CST" /*format*/,
10379  -1440 /*offsetCode (-21600/15)*/,
10380  0 /*offsetRemainder (-21600%15)*/,
10381  0 /*deltaMinutes*/,
10382  1930 /*untilYear*/,
10383  11 /*untilMonth*/,
10384  15 /*untilDay*/,
10385  0 /*untilTimeCode (0/15)*/,
10386  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10387  },
10388  // -7:00 Mexico M%sT 1932 Apr 1
10389  {
10390  &kZonePolicyMexico /*zonePolicy*/,
10391  "M%T" /*format*/,
10392  -1680 /*offsetCode (-25200/15)*/,
10393  0 /*offsetRemainder (-25200%15)*/,
10394  0 /*deltaMinutes*/,
10395  1932 /*untilYear*/,
10396  4 /*untilMonth*/,
10397  1 /*untilDay*/,
10398  0 /*untilTimeCode (0/15)*/,
10399  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10400  },
10401  // -6:00 Mexico C%sT 2001 Sep 30 2:00
10402  {
10403  &kZonePolicyMexico /*zonePolicy*/,
10404  "C%T" /*format*/,
10405  -1440 /*offsetCode (-21600/15)*/,
10406  0 /*offsetRemainder (-21600%15)*/,
10407  0 /*deltaMinutes*/,
10408  2001 /*untilYear*/,
10409  9 /*untilMonth*/,
10410  30 /*untilDay*/,
10411  480 /*untilTimeCode (7200/15)*/,
10412  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10413  },
10414  // -6:00 - CST 2002 Feb 20
10415  {
10416  nullptr /*zonePolicy*/,
10417  "CST" /*format*/,
10418  -1440 /*offsetCode (-21600/15)*/,
10419  0 /*offsetRemainder (-21600%15)*/,
10420  0 /*deltaMinutes*/,
10421  2002 /*untilYear*/,
10422  2 /*untilMonth*/,
10423  20 /*untilDay*/,
10424  0 /*untilTimeCode (0/15)*/,
10425  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10426  },
10427  // -6:00 Mexico C%sT
10428  {
10429  &kZonePolicyMexico /*zonePolicy*/,
10430  "C%T" /*format*/,
10431  -1440 /*offsetCode (-21600/15)*/,
10432  0 /*offsetRemainder (-21600%15)*/,
10433  0 /*deltaMinutes*/,
10434  32767 /*untilYear*/,
10435  1 /*untilMonth*/,
10436  1 /*untilDay*/,
10437  0 /*untilTimeCode (0/15)*/,
10438  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10439  },
10440 
10441 };
10442 
10443 static const char kZoneNameAmerica_Mexico_City[] ACE_TIME_PROGMEM = "\x02" "Mexico_City";
10444 
10445 const complete::ZoneInfo kZoneAmerica_Mexico_City ACE_TIME_PROGMEM = {
10446  kZoneNameAmerica_Mexico_City /*name*/,
10447  0xd0d93f43 /*zoneId*/,
10448  &kZoneContext /*zoneContext*/,
10449  7 /*numEras*/,
10450  kZoneEraAmerica_Mexico_City /*eras*/,
10451  nullptr /*targetInfo*/,
10452 };
10453 
10454 //---------------------------------------------------------------------------
10455 // Zone name: America/Miquelon
10456 // Eras: 4
10457 //---------------------------------------------------------------------------
10458 
10459 static const complete::ZoneEra kZoneEraAmerica_Miquelon[] ACE_TIME_PROGMEM = {
10460  // -3:44:40 - LMT 1911 Jun 15
10461  {
10462  nullptr /*zonePolicy*/,
10463  "LMT" /*format*/,
10464  -899 /*offsetCode (-13480/15)*/,
10465  5 /*offsetRemainder (-13480%15)*/,
10466  0 /*deltaMinutes*/,
10467  1911 /*untilYear*/,
10468  6 /*untilMonth*/,
10469  15 /*untilDay*/,
10470  0 /*untilTimeCode (0/15)*/,
10471  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10472  },
10473  // -4:00 - AST 1980 May
10474  {
10475  nullptr /*zonePolicy*/,
10476  "AST" /*format*/,
10477  -960 /*offsetCode (-14400/15)*/,
10478  0 /*offsetRemainder (-14400%15)*/,
10479  0 /*deltaMinutes*/,
10480  1980 /*untilYear*/,
10481  5 /*untilMonth*/,
10482  1 /*untilDay*/,
10483  0 /*untilTimeCode (0/15)*/,
10484  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10485  },
10486  // -3:00 - %z 1987
10487  {
10488  nullptr /*zonePolicy*/,
10489  "" /*format*/,
10490  -720 /*offsetCode (-10800/15)*/,
10491  0 /*offsetRemainder (-10800%15)*/,
10492  0 /*deltaMinutes*/,
10493  1987 /*untilYear*/,
10494  1 /*untilMonth*/,
10495  1 /*untilDay*/,
10496  0 /*untilTimeCode (0/15)*/,
10497  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10498  },
10499  // -3:00 Canada %z
10500  {
10501  &kZonePolicyCanada /*zonePolicy*/,
10502  "" /*format*/,
10503  -720 /*offsetCode (-10800/15)*/,
10504  0 /*offsetRemainder (-10800%15)*/,
10505  0 /*deltaMinutes*/,
10506  32767 /*untilYear*/,
10507  1 /*untilMonth*/,
10508  1 /*untilDay*/,
10509  0 /*untilTimeCode (0/15)*/,
10510  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10511  },
10512 
10513 };
10514 
10515 static const char kZoneNameAmerica_Miquelon[] ACE_TIME_PROGMEM = "\x02" "Miquelon";
10516 
10517 const complete::ZoneInfo kZoneAmerica_Miquelon ACE_TIME_PROGMEM = {
10518  kZoneNameAmerica_Miquelon /*name*/,
10519  0x59674330 /*zoneId*/,
10520  &kZoneContext /*zoneContext*/,
10521  4 /*numEras*/,
10522  kZoneEraAmerica_Miquelon /*eras*/,
10523  nullptr /*targetInfo*/,
10524 };
10525 
10526 //---------------------------------------------------------------------------
10527 // Zone name: America/Moncton
10528 // Eras: 9
10529 //---------------------------------------------------------------------------
10530 
10531 static const complete::ZoneEra kZoneEraAmerica_Moncton[] ACE_TIME_PROGMEM = {
10532  // -4:19:08 - LMT 1883 Dec 9
10533  {
10534  nullptr /*zonePolicy*/,
10535  "LMT" /*format*/,
10536  -1037 /*offsetCode (-15548/15)*/,
10537  7 /*offsetRemainder (-15548%15)*/,
10538  0 /*deltaMinutes*/,
10539  1883 /*untilYear*/,
10540  12 /*untilMonth*/,
10541  9 /*untilDay*/,
10542  0 /*untilTimeCode (0/15)*/,
10543  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10544  },
10545  // -5:00 - EST 1902 Jun 15
10546  {
10547  nullptr /*zonePolicy*/,
10548  "EST" /*format*/,
10549  -1200 /*offsetCode (-18000/15)*/,
10550  0 /*offsetRemainder (-18000%15)*/,
10551  0 /*deltaMinutes*/,
10552  1902 /*untilYear*/,
10553  6 /*untilMonth*/,
10554  15 /*untilDay*/,
10555  0 /*untilTimeCode (0/15)*/,
10556  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10557  },
10558  // -4:00 Canada A%sT 1933
10559  {
10560  &kZonePolicyCanada /*zonePolicy*/,
10561  "A%T" /*format*/,
10562  -960 /*offsetCode (-14400/15)*/,
10563  0 /*offsetRemainder (-14400%15)*/,
10564  0 /*deltaMinutes*/,
10565  1933 /*untilYear*/,
10566  1 /*untilMonth*/,
10567  1 /*untilDay*/,
10568  0 /*untilTimeCode (0/15)*/,
10569  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10570  },
10571  // -4:00 Moncton A%sT 1942
10572  {
10573  &kZonePolicyMoncton /*zonePolicy*/,
10574  "A%T" /*format*/,
10575  -960 /*offsetCode (-14400/15)*/,
10576  0 /*offsetRemainder (-14400%15)*/,
10577  0 /*deltaMinutes*/,
10578  1942 /*untilYear*/,
10579  1 /*untilMonth*/,
10580  1 /*untilDay*/,
10581  0 /*untilTimeCode (0/15)*/,
10582  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10583  },
10584  // -4:00 Canada A%sT 1946
10585  {
10586  &kZonePolicyCanada /*zonePolicy*/,
10587  "A%T" /*format*/,
10588  -960 /*offsetCode (-14400/15)*/,
10589  0 /*offsetRemainder (-14400%15)*/,
10590  0 /*deltaMinutes*/,
10591  1946 /*untilYear*/,
10592  1 /*untilMonth*/,
10593  1 /*untilDay*/,
10594  0 /*untilTimeCode (0/15)*/,
10595  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10596  },
10597  // -4:00 Moncton A%sT 1973
10598  {
10599  &kZonePolicyMoncton /*zonePolicy*/,
10600  "A%T" /*format*/,
10601  -960 /*offsetCode (-14400/15)*/,
10602  0 /*offsetRemainder (-14400%15)*/,
10603  0 /*deltaMinutes*/,
10604  1973 /*untilYear*/,
10605  1 /*untilMonth*/,
10606  1 /*untilDay*/,
10607  0 /*untilTimeCode (0/15)*/,
10608  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10609  },
10610  // -4:00 Canada A%sT 1993
10611  {
10612  &kZonePolicyCanada /*zonePolicy*/,
10613  "A%T" /*format*/,
10614  -960 /*offsetCode (-14400/15)*/,
10615  0 /*offsetRemainder (-14400%15)*/,
10616  0 /*deltaMinutes*/,
10617  1993 /*untilYear*/,
10618  1 /*untilMonth*/,
10619  1 /*untilDay*/,
10620  0 /*untilTimeCode (0/15)*/,
10621  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10622  },
10623  // -4:00 Moncton A%sT 2007
10624  {
10625  &kZonePolicyMoncton /*zonePolicy*/,
10626  "A%T" /*format*/,
10627  -960 /*offsetCode (-14400/15)*/,
10628  0 /*offsetRemainder (-14400%15)*/,
10629  0 /*deltaMinutes*/,
10630  2007 /*untilYear*/,
10631  1 /*untilMonth*/,
10632  1 /*untilDay*/,
10633  0 /*untilTimeCode (0/15)*/,
10634  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10635  },
10636  // -4:00 Canada A%sT
10637  {
10638  &kZonePolicyCanada /*zonePolicy*/,
10639  "A%T" /*format*/,
10640  -960 /*offsetCode (-14400/15)*/,
10641  0 /*offsetRemainder (-14400%15)*/,
10642  0 /*deltaMinutes*/,
10643  32767 /*untilYear*/,
10644  1 /*untilMonth*/,
10645  1 /*untilDay*/,
10646  0 /*untilTimeCode (0/15)*/,
10647  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10648  },
10649 
10650 };
10651 
10652 static const char kZoneNameAmerica_Moncton[] ACE_TIME_PROGMEM = "\x02" "Moncton";
10653 
10654 const complete::ZoneInfo kZoneAmerica_Moncton ACE_TIME_PROGMEM = {
10655  kZoneNameAmerica_Moncton /*name*/,
10656  0x5e07fe24 /*zoneId*/,
10657  &kZoneContext /*zoneContext*/,
10658  9 /*numEras*/,
10659  kZoneEraAmerica_Moncton /*eras*/,
10660  nullptr /*targetInfo*/,
10661 };
10662 
10663 //---------------------------------------------------------------------------
10664 // Zone name: America/Monterrey
10665 // Eras: 7
10666 //---------------------------------------------------------------------------
10667 
10668 static const complete::ZoneEra kZoneEraAmerica_Monterrey[] ACE_TIME_PROGMEM = {
10669  // -6:41:16 - LMT 1922 Jan 1 6:00u
10670  {
10671  nullptr /*zonePolicy*/,
10672  "LMT" /*format*/,
10673  -1606 /*offsetCode (-24076/15)*/,
10674  14 /*offsetRemainder (-24076%15)*/,
10675  0 /*deltaMinutes*/,
10676  1922 /*untilYear*/,
10677  1 /*untilMonth*/,
10678  1 /*untilDay*/,
10679  1440 /*untilTimeCode (21600/15)*/,
10680  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
10681  },
10682  // -7:00 - MST 1927 Jun 10
10683  {
10684  nullptr /*zonePolicy*/,
10685  "MST" /*format*/,
10686  -1680 /*offsetCode (-25200/15)*/,
10687  0 /*offsetRemainder (-25200%15)*/,
10688  0 /*deltaMinutes*/,
10689  1927 /*untilYear*/,
10690  6 /*untilMonth*/,
10691  10 /*untilDay*/,
10692  0 /*untilTimeCode (0/15)*/,
10693  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10694  },
10695  // -6:00 - CST 1930 Nov 15
10696  {
10697  nullptr /*zonePolicy*/,
10698  "CST" /*format*/,
10699  -1440 /*offsetCode (-21600/15)*/,
10700  0 /*offsetRemainder (-21600%15)*/,
10701  0 /*deltaMinutes*/,
10702  1930 /*untilYear*/,
10703  11 /*untilMonth*/,
10704  15 /*untilDay*/,
10705  0 /*untilTimeCode (0/15)*/,
10706  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10707  },
10708  // -7:00 Mexico M%sT 1932 Apr 1
10709  {
10710  &kZonePolicyMexico /*zonePolicy*/,
10711  "M%T" /*format*/,
10712  -1680 /*offsetCode (-25200/15)*/,
10713  0 /*offsetRemainder (-25200%15)*/,
10714  0 /*deltaMinutes*/,
10715  1932 /*untilYear*/,
10716  4 /*untilMonth*/,
10717  1 /*untilDay*/,
10718  0 /*untilTimeCode (0/15)*/,
10719  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10720  },
10721  // -6:00 - CST 1988
10722  {
10723  nullptr /*zonePolicy*/,
10724  "CST" /*format*/,
10725  -1440 /*offsetCode (-21600/15)*/,
10726  0 /*offsetRemainder (-21600%15)*/,
10727  0 /*deltaMinutes*/,
10728  1988 /*untilYear*/,
10729  1 /*untilMonth*/,
10730  1 /*untilDay*/,
10731  0 /*untilTimeCode (0/15)*/,
10732  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10733  },
10734  // -6:00 US C%sT 1989
10735  {
10736  &kZonePolicyUS /*zonePolicy*/,
10737  "C%T" /*format*/,
10738  -1440 /*offsetCode (-21600/15)*/,
10739  0 /*offsetRemainder (-21600%15)*/,
10740  0 /*deltaMinutes*/,
10741  1989 /*untilYear*/,
10742  1 /*untilMonth*/,
10743  1 /*untilDay*/,
10744  0 /*untilTimeCode (0/15)*/,
10745  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10746  },
10747  // -6:00 Mexico C%sT
10748  {
10749  &kZonePolicyMexico /*zonePolicy*/,
10750  "C%T" /*format*/,
10751  -1440 /*offsetCode (-21600/15)*/,
10752  0 /*offsetRemainder (-21600%15)*/,
10753  0 /*deltaMinutes*/,
10754  32767 /*untilYear*/,
10755  1 /*untilMonth*/,
10756  1 /*untilDay*/,
10757  0 /*untilTimeCode (0/15)*/,
10758  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10759  },
10760 
10761 };
10762 
10763 static const char kZoneNameAmerica_Monterrey[] ACE_TIME_PROGMEM = "\x02" "Monterrey";
10764 
10765 const complete::ZoneInfo kZoneAmerica_Monterrey ACE_TIME_PROGMEM = {
10766  kZoneNameAmerica_Monterrey /*name*/,
10767  0x269a1deb /*zoneId*/,
10768  &kZoneContext /*zoneContext*/,
10769  7 /*numEras*/,
10770  kZoneEraAmerica_Monterrey /*eras*/,
10771  nullptr /*targetInfo*/,
10772 };
10773 
10774 //---------------------------------------------------------------------------
10775 // Zone name: America/Montevideo
10776 // Eras: 11
10777 //---------------------------------------------------------------------------
10778 
10779 static const complete::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = {
10780  // -3:44:51 - LMT 1908 Jun 10
10781  {
10782  nullptr /*zonePolicy*/,
10783  "LMT" /*format*/,
10784  -900 /*offsetCode (-13491/15)*/,
10785  9 /*offsetRemainder (-13491%15)*/,
10786  0 /*deltaMinutes*/,
10787  1908 /*untilYear*/,
10788  6 /*untilMonth*/,
10789  10 /*untilDay*/,
10790  0 /*untilTimeCode (0/15)*/,
10791  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10792  },
10793  // -3:44:51 - MMT 1920 May 1
10794  {
10795  nullptr /*zonePolicy*/,
10796  "MMT" /*format*/,
10797  -900 /*offsetCode (-13491/15)*/,
10798  9 /*offsetRemainder (-13491%15)*/,
10799  0 /*deltaMinutes*/,
10800  1920 /*untilYear*/,
10801  5 /*untilMonth*/,
10802  1 /*untilDay*/,
10803  0 /*untilTimeCode (0/15)*/,
10804  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10805  },
10806  // -4:00 - %z 1923 Oct 1
10807  {
10808  nullptr /*zonePolicy*/,
10809  "" /*format*/,
10810  -960 /*offsetCode (-14400/15)*/,
10811  0 /*offsetRemainder (-14400%15)*/,
10812  0 /*deltaMinutes*/,
10813  1923 /*untilYear*/,
10814  10 /*untilMonth*/,
10815  1 /*untilDay*/,
10816  0 /*untilTimeCode (0/15)*/,
10817  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10818  },
10819  // -3:30 Uruguay %z 1942 Dec 14
10820  {
10821  &kZonePolicyUruguay /*zonePolicy*/,
10822  "" /*format*/,
10823  -840 /*offsetCode (-12600/15)*/,
10824  0 /*offsetRemainder (-12600%15)*/,
10825  0 /*deltaMinutes*/,
10826  1942 /*untilYear*/,
10827  12 /*untilMonth*/,
10828  14 /*untilDay*/,
10829  0 /*untilTimeCode (0/15)*/,
10830  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10831  },
10832  // -3:00 Uruguay %z 1960
10833  {
10834  &kZonePolicyUruguay /*zonePolicy*/,
10835  "" /*format*/,
10836  -720 /*offsetCode (-10800/15)*/,
10837  0 /*offsetRemainder (-10800%15)*/,
10838  0 /*deltaMinutes*/,
10839  1960 /*untilYear*/,
10840  1 /*untilMonth*/,
10841  1 /*untilDay*/,
10842  0 /*untilTimeCode (0/15)*/,
10843  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10844  },
10845  // -3:00 Uruguay %z 1968
10846  {
10847  &kZonePolicyUruguay /*zonePolicy*/,
10848  "" /*format*/,
10849  -720 /*offsetCode (-10800/15)*/,
10850  0 /*offsetRemainder (-10800%15)*/,
10851  0 /*deltaMinutes*/,
10852  1968 /*untilYear*/,
10853  1 /*untilMonth*/,
10854  1 /*untilDay*/,
10855  0 /*untilTimeCode (0/15)*/,
10856  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10857  },
10858  // -3:00 Uruguay %z 1970
10859  {
10860  &kZonePolicyUruguay /*zonePolicy*/,
10861  "" /*format*/,
10862  -720 /*offsetCode (-10800/15)*/,
10863  0 /*offsetRemainder (-10800%15)*/,
10864  0 /*deltaMinutes*/,
10865  1970 /*untilYear*/,
10866  1 /*untilMonth*/,
10867  1 /*untilDay*/,
10868  0 /*untilTimeCode (0/15)*/,
10869  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10870  },
10871  // -3:00 Uruguay %z 1974
10872  {
10873  &kZonePolicyUruguay /*zonePolicy*/,
10874  "" /*format*/,
10875  -720 /*offsetCode (-10800/15)*/,
10876  0 /*offsetRemainder (-10800%15)*/,
10877  0 /*deltaMinutes*/,
10878  1974 /*untilYear*/,
10879  1 /*untilMonth*/,
10880  1 /*untilDay*/,
10881  0 /*untilTimeCode (0/15)*/,
10882  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10883  },
10884  // -3:00 Uruguay %z 1974 Mar 10
10885  {
10886  &kZonePolicyUruguay /*zonePolicy*/,
10887  "" /*format*/,
10888  -720 /*offsetCode (-10800/15)*/,
10889  0 /*offsetRemainder (-10800%15)*/,
10890  0 /*deltaMinutes*/,
10891  1974 /*untilYear*/,
10892  3 /*untilMonth*/,
10893  10 /*untilDay*/,
10894  0 /*untilTimeCode (0/15)*/,
10895  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10896  },
10897  // -3:00 Uruguay %z 1974 Dec 22
10898  {
10899  &kZonePolicyUruguay /*zonePolicy*/,
10900  "" /*format*/,
10901  -720 /*offsetCode (-10800/15)*/,
10902  0 /*offsetRemainder (-10800%15)*/,
10903  0 /*deltaMinutes*/,
10904  1974 /*untilYear*/,
10905  12 /*untilMonth*/,
10906  22 /*untilDay*/,
10907  0 /*untilTimeCode (0/15)*/,
10908  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10909  },
10910  // -3:00 Uruguay %z
10911  {
10912  &kZonePolicyUruguay /*zonePolicy*/,
10913  "" /*format*/,
10914  -720 /*offsetCode (-10800/15)*/,
10915  0 /*offsetRemainder (-10800%15)*/,
10916  0 /*deltaMinutes*/,
10917  32767 /*untilYear*/,
10918  1 /*untilMonth*/,
10919  1 /*untilDay*/,
10920  0 /*untilTimeCode (0/15)*/,
10921  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10922  },
10923 
10924 };
10925 
10926 static const char kZoneNameAmerica_Montevideo[] ACE_TIME_PROGMEM = "\x02" "Montevideo";
10927 
10928 const complete::ZoneInfo kZoneAmerica_Montevideo ACE_TIME_PROGMEM = {
10929  kZoneNameAmerica_Montevideo /*name*/,
10930  0xfa214780 /*zoneId*/,
10931  &kZoneContext /*zoneContext*/,
10932  11 /*numEras*/,
10933  kZoneEraAmerica_Montevideo /*eras*/,
10934  nullptr /*targetInfo*/,
10935 };
10936 
10937 //---------------------------------------------------------------------------
10938 // Zone name: America/New_York
10939 // Eras: 6
10940 //---------------------------------------------------------------------------
10941 
10942 static const complete::ZoneEra kZoneEraAmerica_New_York[] ACE_TIME_PROGMEM = {
10943  // -4:56:02 - LMT 1883 Nov 18 17:00u
10944  {
10945  nullptr /*zonePolicy*/,
10946  "LMT" /*format*/,
10947  -1185 /*offsetCode (-17762/15)*/,
10948  13 /*offsetRemainder (-17762%15)*/,
10949  0 /*deltaMinutes*/,
10950  1883 /*untilYear*/,
10951  11 /*untilMonth*/,
10952  18 /*untilDay*/,
10953  4080 /*untilTimeCode (61200/15)*/,
10954  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
10955  },
10956  // -5:00 US E%sT 1920
10957  {
10958  &kZonePolicyUS /*zonePolicy*/,
10959  "E%T" /*format*/,
10960  -1200 /*offsetCode (-18000/15)*/,
10961  0 /*offsetRemainder (-18000%15)*/,
10962  0 /*deltaMinutes*/,
10963  1920 /*untilYear*/,
10964  1 /*untilMonth*/,
10965  1 /*untilDay*/,
10966  0 /*untilTimeCode (0/15)*/,
10967  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10968  },
10969  // -5:00 NYC E%sT 1942
10970  {
10971  &kZonePolicyNYC /*zonePolicy*/,
10972  "E%T" /*format*/,
10973  -1200 /*offsetCode (-18000/15)*/,
10974  0 /*offsetRemainder (-18000%15)*/,
10975  0 /*deltaMinutes*/,
10976  1942 /*untilYear*/,
10977  1 /*untilMonth*/,
10978  1 /*untilDay*/,
10979  0 /*untilTimeCode (0/15)*/,
10980  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10981  },
10982  // -5:00 US E%sT 1946
10983  {
10984  &kZonePolicyUS /*zonePolicy*/,
10985  "E%T" /*format*/,
10986  -1200 /*offsetCode (-18000/15)*/,
10987  0 /*offsetRemainder (-18000%15)*/,
10988  0 /*deltaMinutes*/,
10989  1946 /*untilYear*/,
10990  1 /*untilMonth*/,
10991  1 /*untilDay*/,
10992  0 /*untilTimeCode (0/15)*/,
10993  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
10994  },
10995  // -5:00 NYC E%sT 1967
10996  {
10997  &kZonePolicyNYC /*zonePolicy*/,
10998  "E%T" /*format*/,
10999  -1200 /*offsetCode (-18000/15)*/,
11000  0 /*offsetRemainder (-18000%15)*/,
11001  0 /*deltaMinutes*/,
11002  1967 /*untilYear*/,
11003  1 /*untilMonth*/,
11004  1 /*untilDay*/,
11005  0 /*untilTimeCode (0/15)*/,
11006  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11007  },
11008  // -5:00 US E%sT
11009  {
11010  &kZonePolicyUS /*zonePolicy*/,
11011  "E%T" /*format*/,
11012  -1200 /*offsetCode (-18000/15)*/,
11013  0 /*offsetRemainder (-18000%15)*/,
11014  0 /*deltaMinutes*/,
11015  32767 /*untilYear*/,
11016  1 /*untilMonth*/,
11017  1 /*untilDay*/,
11018  0 /*untilTimeCode (0/15)*/,
11019  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11020  },
11021 
11022 };
11023 
11024 static const char kZoneNameAmerica_New_York[] ACE_TIME_PROGMEM = "\x02" "New_York";
11025 
11026 const complete::ZoneInfo kZoneAmerica_New_York ACE_TIME_PROGMEM = {
11027  kZoneNameAmerica_New_York /*name*/,
11028  0x1e2a7654 /*zoneId*/,
11029  &kZoneContext /*zoneContext*/,
11030  6 /*numEras*/,
11031  kZoneEraAmerica_New_York /*eras*/,
11032  nullptr /*targetInfo*/,
11033 };
11034 
11035 //---------------------------------------------------------------------------
11036 // Zone name: America/Nome
11037 // Eras: 9
11038 //---------------------------------------------------------------------------
11039 
11040 static const complete::ZoneEra kZoneEraAmerica_Nome[] ACE_TIME_PROGMEM = {
11041  // 12:58:22 - LMT 1867 Oct 19 13:29:35
11042  {
11043  nullptr /*zonePolicy*/,
11044  "LMT" /*format*/,
11045  3113 /*offsetCode (46702/15)*/,
11046  7 /*offsetRemainder (46702%15)*/,
11047  0 /*deltaMinutes*/,
11048  1867 /*untilYear*/,
11049  10 /*untilMonth*/,
11050  19 /*untilDay*/,
11051  3238 /*untilTimeCode (48575/15)*/,
11052  5 /*untilTimeModifier (kAtcSuffixW + seconds=5)*/,
11053  },
11054  // -11:01:38 - LMT 1900 Aug 20 12:00
11055  {
11056  nullptr /*zonePolicy*/,
11057  "LMT" /*format*/,
11058  -2647 /*offsetCode (-39698/15)*/,
11059  7 /*offsetRemainder (-39698%15)*/,
11060  0 /*deltaMinutes*/,
11061  1900 /*untilYear*/,
11062  8 /*untilMonth*/,
11063  20 /*untilDay*/,
11064  2880 /*untilTimeCode (43200/15)*/,
11065  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11066  },
11067  // -11:00 - NST 1942
11068  {
11069  nullptr /*zonePolicy*/,
11070  "NST" /*format*/,
11071  -2640 /*offsetCode (-39600/15)*/,
11072  0 /*offsetRemainder (-39600%15)*/,
11073  0 /*deltaMinutes*/,
11074  1942 /*untilYear*/,
11075  1 /*untilMonth*/,
11076  1 /*untilDay*/,
11077  0 /*untilTimeCode (0/15)*/,
11078  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11079  },
11080  // -11:00 US N%sT 1946
11081  {
11082  &kZonePolicyUS /*zonePolicy*/,
11083  "N%T" /*format*/,
11084  -2640 /*offsetCode (-39600/15)*/,
11085  0 /*offsetRemainder (-39600%15)*/,
11086  0 /*deltaMinutes*/,
11087  1946 /*untilYear*/,
11088  1 /*untilMonth*/,
11089  1 /*untilDay*/,
11090  0 /*untilTimeCode (0/15)*/,
11091  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11092  },
11093  // -11:00 - NST 1967 Apr
11094  {
11095  nullptr /*zonePolicy*/,
11096  "NST" /*format*/,
11097  -2640 /*offsetCode (-39600/15)*/,
11098  0 /*offsetRemainder (-39600%15)*/,
11099  0 /*deltaMinutes*/,
11100  1967 /*untilYear*/,
11101  4 /*untilMonth*/,
11102  1 /*untilDay*/,
11103  0 /*untilTimeCode (0/15)*/,
11104  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11105  },
11106  // -11:00 - BST 1969
11107  {
11108  nullptr /*zonePolicy*/,
11109  "BST" /*format*/,
11110  -2640 /*offsetCode (-39600/15)*/,
11111  0 /*offsetRemainder (-39600%15)*/,
11112  0 /*deltaMinutes*/,
11113  1969 /*untilYear*/,
11114  1 /*untilMonth*/,
11115  1 /*untilDay*/,
11116  0 /*untilTimeCode (0/15)*/,
11117  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11118  },
11119  // -11:00 US B%sT 1983 Oct 30 2:00
11120  {
11121  &kZonePolicyUS /*zonePolicy*/,
11122  "B%T" /*format*/,
11123  -2640 /*offsetCode (-39600/15)*/,
11124  0 /*offsetRemainder (-39600%15)*/,
11125  0 /*deltaMinutes*/,
11126  1983 /*untilYear*/,
11127  10 /*untilMonth*/,
11128  30 /*untilDay*/,
11129  480 /*untilTimeCode (7200/15)*/,
11130  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11131  },
11132  // -9:00 US Y%sT 1983 Nov 30
11133  {
11134  &kZonePolicyUS /*zonePolicy*/,
11135  "Y%T" /*format*/,
11136  -2160 /*offsetCode (-32400/15)*/,
11137  0 /*offsetRemainder (-32400%15)*/,
11138  0 /*deltaMinutes*/,
11139  1983 /*untilYear*/,
11140  11 /*untilMonth*/,
11141  30 /*untilDay*/,
11142  0 /*untilTimeCode (0/15)*/,
11143  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11144  },
11145  // -9:00 US AK%sT
11146  {
11147  &kZonePolicyUS /*zonePolicy*/,
11148  "AK%T" /*format*/,
11149  -2160 /*offsetCode (-32400/15)*/,
11150  0 /*offsetRemainder (-32400%15)*/,
11151  0 /*deltaMinutes*/,
11152  32767 /*untilYear*/,
11153  1 /*untilMonth*/,
11154  1 /*untilDay*/,
11155  0 /*untilTimeCode (0/15)*/,
11156  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11157  },
11158 
11159 };
11160 
11161 static const char kZoneNameAmerica_Nome[] ACE_TIME_PROGMEM = "\x02" "Nome";
11162 
11163 const complete::ZoneInfo kZoneAmerica_Nome ACE_TIME_PROGMEM = {
11164  kZoneNameAmerica_Nome /*name*/,
11165  0x98059b15 /*zoneId*/,
11166  &kZoneContext /*zoneContext*/,
11167  9 /*numEras*/,
11168  kZoneEraAmerica_Nome /*eras*/,
11169  nullptr /*targetInfo*/,
11170 };
11171 
11172 //---------------------------------------------------------------------------
11173 // Zone name: America/Noronha
11174 // Eras: 7
11175 //---------------------------------------------------------------------------
11176 
11177 static const complete::ZoneEra kZoneEraAmerica_Noronha[] ACE_TIME_PROGMEM = {
11178  // -2:09:40 - LMT 1914
11179  {
11180  nullptr /*zonePolicy*/,
11181  "LMT" /*format*/,
11182  -519 /*offsetCode (-7780/15)*/,
11183  5 /*offsetRemainder (-7780%15)*/,
11184  0 /*deltaMinutes*/,
11185  1914 /*untilYear*/,
11186  1 /*untilMonth*/,
11187  1 /*untilDay*/,
11188  0 /*untilTimeCode (0/15)*/,
11189  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11190  },
11191  // -2:00 Brazil %z 1990 Sep 17
11192  {
11193  &kZonePolicyBrazil /*zonePolicy*/,
11194  "" /*format*/,
11195  -480 /*offsetCode (-7200/15)*/,
11196  0 /*offsetRemainder (-7200%15)*/,
11197  0 /*deltaMinutes*/,
11198  1990 /*untilYear*/,
11199  9 /*untilMonth*/,
11200  17 /*untilDay*/,
11201  0 /*untilTimeCode (0/15)*/,
11202  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11203  },
11204  // -2:00 - %z 1999 Sep 30
11205  {
11206  nullptr /*zonePolicy*/,
11207  "" /*format*/,
11208  -480 /*offsetCode (-7200/15)*/,
11209  0 /*offsetRemainder (-7200%15)*/,
11210  0 /*deltaMinutes*/,
11211  1999 /*untilYear*/,
11212  9 /*untilMonth*/,
11213  30 /*untilDay*/,
11214  0 /*untilTimeCode (0/15)*/,
11215  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11216  },
11217  // -2:00 Brazil %z 2000 Oct 15
11218  {
11219  &kZonePolicyBrazil /*zonePolicy*/,
11220  "" /*format*/,
11221  -480 /*offsetCode (-7200/15)*/,
11222  0 /*offsetRemainder (-7200%15)*/,
11223  0 /*deltaMinutes*/,
11224  2000 /*untilYear*/,
11225  10 /*untilMonth*/,
11226  15 /*untilDay*/,
11227  0 /*untilTimeCode (0/15)*/,
11228  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11229  },
11230  // -2:00 - %z 2001 Sep 13
11231  {
11232  nullptr /*zonePolicy*/,
11233  "" /*format*/,
11234  -480 /*offsetCode (-7200/15)*/,
11235  0 /*offsetRemainder (-7200%15)*/,
11236  0 /*deltaMinutes*/,
11237  2001 /*untilYear*/,
11238  9 /*untilMonth*/,
11239  13 /*untilDay*/,
11240  0 /*untilTimeCode (0/15)*/,
11241  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11242  },
11243  // -2:00 Brazil %z 2002 Oct 1
11244  {
11245  &kZonePolicyBrazil /*zonePolicy*/,
11246  "" /*format*/,
11247  -480 /*offsetCode (-7200/15)*/,
11248  0 /*offsetRemainder (-7200%15)*/,
11249  0 /*deltaMinutes*/,
11250  2002 /*untilYear*/,
11251  10 /*untilMonth*/,
11252  1 /*untilDay*/,
11253  0 /*untilTimeCode (0/15)*/,
11254  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11255  },
11256  // -2:00 - %z
11257  {
11258  nullptr /*zonePolicy*/,
11259  "" /*format*/,
11260  -480 /*offsetCode (-7200/15)*/,
11261  0 /*offsetRemainder (-7200%15)*/,
11262  0 /*deltaMinutes*/,
11263  32767 /*untilYear*/,
11264  1 /*untilMonth*/,
11265  1 /*untilDay*/,
11266  0 /*untilTimeCode (0/15)*/,
11267  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11268  },
11269 
11270 };
11271 
11272 static const char kZoneNameAmerica_Noronha[] ACE_TIME_PROGMEM = "\x02" "Noronha";
11273 
11274 const complete::ZoneInfo kZoneAmerica_Noronha ACE_TIME_PROGMEM = {
11275  kZoneNameAmerica_Noronha /*name*/,
11276  0xab5116fb /*zoneId*/,
11277  &kZoneContext /*zoneContext*/,
11278  7 /*numEras*/,
11279  kZoneEraAmerica_Noronha /*eras*/,
11280  nullptr /*targetInfo*/,
11281 };
11282 
11283 //---------------------------------------------------------------------------
11284 // Zone name: America/North_Dakota/Beulah
11285 // Eras: 3
11286 //---------------------------------------------------------------------------
11287 
11288 static const complete::ZoneEra kZoneEraAmerica_North_Dakota_Beulah[] ACE_TIME_PROGMEM = {
11289  // -6:47:07 - LMT 1883 Nov 18 19:00u
11290  {
11291  nullptr /*zonePolicy*/,
11292  "LMT" /*format*/,
11293  -1629 /*offsetCode (-24427/15)*/,
11294  8 /*offsetRemainder (-24427%15)*/,
11295  0 /*deltaMinutes*/,
11296  1883 /*untilYear*/,
11297  11 /*untilMonth*/,
11298  18 /*untilDay*/,
11299  4560 /*untilTimeCode (68400/15)*/,
11300  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11301  },
11302  // -7:00 US M%sT 2010 Nov 7 2:00
11303  {
11304  &kZonePolicyUS /*zonePolicy*/,
11305  "M%T" /*format*/,
11306  -1680 /*offsetCode (-25200/15)*/,
11307  0 /*offsetRemainder (-25200%15)*/,
11308  0 /*deltaMinutes*/,
11309  2010 /*untilYear*/,
11310  11 /*untilMonth*/,
11311  7 /*untilDay*/,
11312  480 /*untilTimeCode (7200/15)*/,
11313  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11314  },
11315  // -6:00 US C%sT
11316  {
11317  &kZonePolicyUS /*zonePolicy*/,
11318  "C%T" /*format*/,
11319  -1440 /*offsetCode (-21600/15)*/,
11320  0 /*offsetRemainder (-21600%15)*/,
11321  0 /*deltaMinutes*/,
11322  32767 /*untilYear*/,
11323  1 /*untilMonth*/,
11324  1 /*untilDay*/,
11325  0 /*untilTimeCode (0/15)*/,
11326  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11327  },
11328 
11329 };
11330 
11331 static const char kZoneNameAmerica_North_Dakota_Beulah[] ACE_TIME_PROGMEM = "\x02" "North_Dakota/Beulah";
11332 
11333 const complete::ZoneInfo kZoneAmerica_North_Dakota_Beulah ACE_TIME_PROGMEM = {
11334  kZoneNameAmerica_North_Dakota_Beulah /*name*/,
11335  0x9b52b384 /*zoneId*/,
11336  &kZoneContext /*zoneContext*/,
11337  3 /*numEras*/,
11338  kZoneEraAmerica_North_Dakota_Beulah /*eras*/,
11339  nullptr /*targetInfo*/,
11340 };
11341 
11342 //---------------------------------------------------------------------------
11343 // Zone name: America/North_Dakota/Center
11344 // Eras: 3
11345 //---------------------------------------------------------------------------
11346 
11347 static const complete::ZoneEra kZoneEraAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = {
11348  // -6:45:12 - LMT 1883 Nov 18 19:00u
11349  {
11350  nullptr /*zonePolicy*/,
11351  "LMT" /*format*/,
11352  -1621 /*offsetCode (-24312/15)*/,
11353  3 /*offsetRemainder (-24312%15)*/,
11354  0 /*deltaMinutes*/,
11355  1883 /*untilYear*/,
11356  11 /*untilMonth*/,
11357  18 /*untilDay*/,
11358  4560 /*untilTimeCode (68400/15)*/,
11359  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11360  },
11361  // -7:00 US M%sT 1992 Oct 25 2:00
11362  {
11363  &kZonePolicyUS /*zonePolicy*/,
11364  "M%T" /*format*/,
11365  -1680 /*offsetCode (-25200/15)*/,
11366  0 /*offsetRemainder (-25200%15)*/,
11367  0 /*deltaMinutes*/,
11368  1992 /*untilYear*/,
11369  10 /*untilMonth*/,
11370  25 /*untilDay*/,
11371  480 /*untilTimeCode (7200/15)*/,
11372  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11373  },
11374  // -6:00 US C%sT
11375  {
11376  &kZonePolicyUS /*zonePolicy*/,
11377  "C%T" /*format*/,
11378  -1440 /*offsetCode (-21600/15)*/,
11379  0 /*offsetRemainder (-21600%15)*/,
11380  0 /*deltaMinutes*/,
11381  32767 /*untilYear*/,
11382  1 /*untilMonth*/,
11383  1 /*untilDay*/,
11384  0 /*untilTimeCode (0/15)*/,
11385  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11386  },
11387 
11388 };
11389 
11390 static const char kZoneNameAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = "\x02" "North_Dakota/Center";
11391 
11392 const complete::ZoneInfo kZoneAmerica_North_Dakota_Center ACE_TIME_PROGMEM = {
11393  kZoneNameAmerica_North_Dakota_Center /*name*/,
11394  0x9da42814 /*zoneId*/,
11395  &kZoneContext /*zoneContext*/,
11396  3 /*numEras*/,
11397  kZoneEraAmerica_North_Dakota_Center /*eras*/,
11398  nullptr /*targetInfo*/,
11399 };
11400 
11401 //---------------------------------------------------------------------------
11402 // Zone name: America/North_Dakota/New_Salem
11403 // Eras: 3
11404 //---------------------------------------------------------------------------
11405 
11406 static const complete::ZoneEra kZoneEraAmerica_North_Dakota_New_Salem[] ACE_TIME_PROGMEM = {
11407  // -6:45:39 - LMT 1883 Nov 18 19:00u
11408  {
11409  nullptr /*zonePolicy*/,
11410  "LMT" /*format*/,
11411  -1623 /*offsetCode (-24339/15)*/,
11412  6 /*offsetRemainder (-24339%15)*/,
11413  0 /*deltaMinutes*/,
11414  1883 /*untilYear*/,
11415  11 /*untilMonth*/,
11416  18 /*untilDay*/,
11417  4560 /*untilTimeCode (68400/15)*/,
11418  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11419  },
11420  // -7:00 US M%sT 2003 Oct 26 2:00
11421  {
11422  &kZonePolicyUS /*zonePolicy*/,
11423  "M%T" /*format*/,
11424  -1680 /*offsetCode (-25200/15)*/,
11425  0 /*offsetRemainder (-25200%15)*/,
11426  0 /*deltaMinutes*/,
11427  2003 /*untilYear*/,
11428  10 /*untilMonth*/,
11429  26 /*untilDay*/,
11430  480 /*untilTimeCode (7200/15)*/,
11431  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11432  },
11433  // -6:00 US C%sT
11434  {
11435  &kZonePolicyUS /*zonePolicy*/,
11436  "C%T" /*format*/,
11437  -1440 /*offsetCode (-21600/15)*/,
11438  0 /*offsetRemainder (-21600%15)*/,
11439  0 /*deltaMinutes*/,
11440  32767 /*untilYear*/,
11441  1 /*untilMonth*/,
11442  1 /*untilDay*/,
11443  0 /*untilTimeCode (0/15)*/,
11444  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11445  },
11446 
11447 };
11448 
11449 static const char kZoneNameAmerica_North_Dakota_New_Salem[] ACE_TIME_PROGMEM = "\x02" "North_Dakota/New_Salem";
11450 
11451 const complete::ZoneInfo kZoneAmerica_North_Dakota_New_Salem ACE_TIME_PROGMEM = {
11452  kZoneNameAmerica_North_Dakota_New_Salem /*name*/,
11453  0x04f9958e /*zoneId*/,
11454  &kZoneContext /*zoneContext*/,
11455  3 /*numEras*/,
11456  kZoneEraAmerica_North_Dakota_New_Salem /*eras*/,
11457  nullptr /*targetInfo*/,
11458 };
11459 
11460 //---------------------------------------------------------------------------
11461 // Zone name: America/Nuuk
11462 // Eras: 5
11463 //---------------------------------------------------------------------------
11464 
11465 static const complete::ZoneEra kZoneEraAmerica_Nuuk[] ACE_TIME_PROGMEM = {
11466  // -3:26:56 - LMT 1916 Jul 28
11467  {
11468  nullptr /*zonePolicy*/,
11469  "LMT" /*format*/,
11470  -828 /*offsetCode (-12416/15)*/,
11471  4 /*offsetRemainder (-12416%15)*/,
11472  0 /*deltaMinutes*/,
11473  1916 /*untilYear*/,
11474  7 /*untilMonth*/,
11475  28 /*untilDay*/,
11476  0 /*untilTimeCode (0/15)*/,
11477  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11478  },
11479  // -3:00 - %z 1980 Apr 6 2:00
11480  {
11481  nullptr /*zonePolicy*/,
11482  "" /*format*/,
11483  -720 /*offsetCode (-10800/15)*/,
11484  0 /*offsetRemainder (-10800%15)*/,
11485  0 /*deltaMinutes*/,
11486  1980 /*untilYear*/,
11487  4 /*untilMonth*/,
11488  6 /*untilDay*/,
11489  480 /*untilTimeCode (7200/15)*/,
11490  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11491  },
11492  // -3:00 EU %z 2023 Mar 26 1:00u
11493  {
11494  &kZonePolicyEU /*zonePolicy*/,
11495  "" /*format*/,
11496  -720 /*offsetCode (-10800/15)*/,
11497  0 /*offsetRemainder (-10800%15)*/,
11498  0 /*deltaMinutes*/,
11499  2023 /*untilYear*/,
11500  3 /*untilMonth*/,
11501  26 /*untilDay*/,
11502  240 /*untilTimeCode (3600/15)*/,
11503  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11504  },
11505  // -2:00 - %z 2023 Oct 29 1:00u
11506  {
11507  nullptr /*zonePolicy*/,
11508  "" /*format*/,
11509  -480 /*offsetCode (-7200/15)*/,
11510  0 /*offsetRemainder (-7200%15)*/,
11511  0 /*deltaMinutes*/,
11512  2023 /*untilYear*/,
11513  10 /*untilMonth*/,
11514  29 /*untilDay*/,
11515  240 /*untilTimeCode (3600/15)*/,
11516  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11517  },
11518  // -2:00 EU %z
11519  {
11520  &kZonePolicyEU /*zonePolicy*/,
11521  "" /*format*/,
11522  -480 /*offsetCode (-7200/15)*/,
11523  0 /*offsetRemainder (-7200%15)*/,
11524  0 /*deltaMinutes*/,
11525  32767 /*untilYear*/,
11526  1 /*untilMonth*/,
11527  1 /*untilDay*/,
11528  0 /*untilTimeCode (0/15)*/,
11529  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11530  },
11531 
11532 };
11533 
11534 static const char kZoneNameAmerica_Nuuk[] ACE_TIME_PROGMEM = "\x02" "Nuuk";
11535 
11536 const complete::ZoneInfo kZoneAmerica_Nuuk ACE_TIME_PROGMEM = {
11537  kZoneNameAmerica_Nuuk /*name*/,
11538  0x9805b5a9 /*zoneId*/,
11539  &kZoneContext /*zoneContext*/,
11540  5 /*numEras*/,
11541  kZoneEraAmerica_Nuuk /*eras*/,
11542  nullptr /*targetInfo*/,
11543 };
11544 
11545 //---------------------------------------------------------------------------
11546 // Zone name: America/Ojinaga
11547 // Eras: 11
11548 //---------------------------------------------------------------------------
11549 
11550 static const complete::ZoneEra kZoneEraAmerica_Ojinaga[] ACE_TIME_PROGMEM = {
11551  // -6:57:40 - LMT 1922 Jan 1 7:00u
11552  {
11553  nullptr /*zonePolicy*/,
11554  "LMT" /*format*/,
11555  -1671 /*offsetCode (-25060/15)*/,
11556  5 /*offsetRemainder (-25060%15)*/,
11557  0 /*deltaMinutes*/,
11558  1922 /*untilYear*/,
11559  1 /*untilMonth*/,
11560  1 /*untilDay*/,
11561  1680 /*untilTimeCode (25200/15)*/,
11562  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11563  },
11564  // -7:00 - MST 1927 Jun 10
11565  {
11566  nullptr /*zonePolicy*/,
11567  "MST" /*format*/,
11568  -1680 /*offsetCode (-25200/15)*/,
11569  0 /*offsetRemainder (-25200%15)*/,
11570  0 /*deltaMinutes*/,
11571  1927 /*untilYear*/,
11572  6 /*untilMonth*/,
11573  10 /*untilDay*/,
11574  0 /*untilTimeCode (0/15)*/,
11575  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11576  },
11577  // -6:00 - CST 1930 Nov 15
11578  {
11579  nullptr /*zonePolicy*/,
11580  "CST" /*format*/,
11581  -1440 /*offsetCode (-21600/15)*/,
11582  0 /*offsetRemainder (-21600%15)*/,
11583  0 /*deltaMinutes*/,
11584  1930 /*untilYear*/,
11585  11 /*untilMonth*/,
11586  15 /*untilDay*/,
11587  0 /*untilTimeCode (0/15)*/,
11588  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11589  },
11590  // -7:00 Mexico M%sT 1932 Apr 1
11591  {
11592  &kZonePolicyMexico /*zonePolicy*/,
11593  "M%T" /*format*/,
11594  -1680 /*offsetCode (-25200/15)*/,
11595  0 /*offsetRemainder (-25200%15)*/,
11596  0 /*deltaMinutes*/,
11597  1932 /*untilYear*/,
11598  4 /*untilMonth*/,
11599  1 /*untilDay*/,
11600  0 /*untilTimeCode (0/15)*/,
11601  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11602  },
11603  // -6:00 - CST 1996
11604  {
11605  nullptr /*zonePolicy*/,
11606  "CST" /*format*/,
11607  -1440 /*offsetCode (-21600/15)*/,
11608  0 /*offsetRemainder (-21600%15)*/,
11609  0 /*deltaMinutes*/,
11610  1996 /*untilYear*/,
11611  1 /*untilMonth*/,
11612  1 /*untilDay*/,
11613  0 /*untilTimeCode (0/15)*/,
11614  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11615  },
11616  // -6:00 Mexico C%sT 1998
11617  {
11618  &kZonePolicyMexico /*zonePolicy*/,
11619  "C%T" /*format*/,
11620  -1440 /*offsetCode (-21600/15)*/,
11621  0 /*offsetRemainder (-21600%15)*/,
11622  0 /*deltaMinutes*/,
11623  1998 /*untilYear*/,
11624  1 /*untilMonth*/,
11625  1 /*untilDay*/,
11626  0 /*untilTimeCode (0/15)*/,
11627  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11628  },
11629  // -6:00 - CST 1998 Apr Sun>=1 3:00
11630  {
11631  nullptr /*zonePolicy*/,
11632  "CST" /*format*/,
11633  -1440 /*offsetCode (-21600/15)*/,
11634  0 /*offsetRemainder (-21600%15)*/,
11635  0 /*deltaMinutes*/,
11636  1998 /*untilYear*/,
11637  4 /*untilMonth*/,
11638  5 /*untilDay*/,
11639  720 /*untilTimeCode (10800/15)*/,
11640  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11641  },
11642  // -7:00 Mexico M%sT 2010
11643  {
11644  &kZonePolicyMexico /*zonePolicy*/,
11645  "M%T" /*format*/,
11646  -1680 /*offsetCode (-25200/15)*/,
11647  0 /*offsetRemainder (-25200%15)*/,
11648  0 /*deltaMinutes*/,
11649  2010 /*untilYear*/,
11650  1 /*untilMonth*/,
11651  1 /*untilDay*/,
11652  0 /*untilTimeCode (0/15)*/,
11653  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11654  },
11655  // -7:00 US M%sT 2022 Oct 30 2:00
11656  {
11657  &kZonePolicyUS /*zonePolicy*/,
11658  "M%T" /*format*/,
11659  -1680 /*offsetCode (-25200/15)*/,
11660  0 /*offsetRemainder (-25200%15)*/,
11661  0 /*deltaMinutes*/,
11662  2022 /*untilYear*/,
11663  10 /*untilMonth*/,
11664  30 /*untilDay*/,
11665  480 /*untilTimeCode (7200/15)*/,
11666  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11667  },
11668  // -6:00 - CST 2022 Nov 30 0:00
11669  {
11670  nullptr /*zonePolicy*/,
11671  "CST" /*format*/,
11672  -1440 /*offsetCode (-21600/15)*/,
11673  0 /*offsetRemainder (-21600%15)*/,
11674  0 /*deltaMinutes*/,
11675  2022 /*untilYear*/,
11676  11 /*untilMonth*/,
11677  30 /*untilDay*/,
11678  0 /*untilTimeCode (0/15)*/,
11679  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11680  },
11681  // -6:00 US C%sT
11682  {
11683  &kZonePolicyUS /*zonePolicy*/,
11684  "C%T" /*format*/,
11685  -1440 /*offsetCode (-21600/15)*/,
11686  0 /*offsetRemainder (-21600%15)*/,
11687  0 /*deltaMinutes*/,
11688  32767 /*untilYear*/,
11689  1 /*untilMonth*/,
11690  1 /*untilDay*/,
11691  0 /*untilTimeCode (0/15)*/,
11692  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11693  },
11694 
11695 };
11696 
11697 static const char kZoneNameAmerica_Ojinaga[] ACE_TIME_PROGMEM = "\x02" "Ojinaga";
11698 
11699 const complete::ZoneInfo kZoneAmerica_Ojinaga ACE_TIME_PROGMEM = {
11700  kZoneNameAmerica_Ojinaga /*name*/,
11701  0xebfde83f /*zoneId*/,
11702  &kZoneContext /*zoneContext*/,
11703  11 /*numEras*/,
11704  kZoneEraAmerica_Ojinaga /*eras*/,
11705  nullptr /*targetInfo*/,
11706 };
11707 
11708 //---------------------------------------------------------------------------
11709 // Zone name: America/Panama
11710 // Eras: 3
11711 //---------------------------------------------------------------------------
11712 
11713 static const complete::ZoneEra kZoneEraAmerica_Panama[] ACE_TIME_PROGMEM = {
11714  // -5:18:08 - LMT 1890
11715  {
11716  nullptr /*zonePolicy*/,
11717  "LMT" /*format*/,
11718  -1273 /*offsetCode (-19088/15)*/,
11719  7 /*offsetRemainder (-19088%15)*/,
11720  0 /*deltaMinutes*/,
11721  1890 /*untilYear*/,
11722  1 /*untilMonth*/,
11723  1 /*untilDay*/,
11724  0 /*untilTimeCode (0/15)*/,
11725  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11726  },
11727  // -5:19:36 - CMT 1908 Apr 22
11728  {
11729  nullptr /*zonePolicy*/,
11730  "CMT" /*format*/,
11731  -1279 /*offsetCode (-19176/15)*/,
11732  9 /*offsetRemainder (-19176%15)*/,
11733  0 /*deltaMinutes*/,
11734  1908 /*untilYear*/,
11735  4 /*untilMonth*/,
11736  22 /*untilDay*/,
11737  0 /*untilTimeCode (0/15)*/,
11738  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11739  },
11740  // -5:00 - EST
11741  {
11742  nullptr /*zonePolicy*/,
11743  "EST" /*format*/,
11744  -1200 /*offsetCode (-18000/15)*/,
11745  0 /*offsetRemainder (-18000%15)*/,
11746  0 /*deltaMinutes*/,
11747  32767 /*untilYear*/,
11748  1 /*untilMonth*/,
11749  1 /*untilDay*/,
11750  0 /*untilTimeCode (0/15)*/,
11751  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11752  },
11753 
11754 };
11755 
11756 static const char kZoneNameAmerica_Panama[] ACE_TIME_PROGMEM = "\x02" "Panama";
11757 
11758 const complete::ZoneInfo kZoneAmerica_Panama ACE_TIME_PROGMEM = {
11759  kZoneNameAmerica_Panama /*name*/,
11760  0xb3863854 /*zoneId*/,
11761  &kZoneContext /*zoneContext*/,
11762  3 /*numEras*/,
11763  kZoneEraAmerica_Panama /*eras*/,
11764  nullptr /*targetInfo*/,
11765 };
11766 
11767 //---------------------------------------------------------------------------
11768 // Zone name: America/Paramaribo
11769 // Eras: 5
11770 //---------------------------------------------------------------------------
11771 
11772 static const complete::ZoneEra kZoneEraAmerica_Paramaribo[] ACE_TIME_PROGMEM = {
11773  // -3:40:40 - LMT 1911
11774  {
11775  nullptr /*zonePolicy*/,
11776  "LMT" /*format*/,
11777  -883 /*offsetCode (-13240/15)*/,
11778  5 /*offsetRemainder (-13240%15)*/,
11779  0 /*deltaMinutes*/,
11780  1911 /*untilYear*/,
11781  1 /*untilMonth*/,
11782  1 /*untilDay*/,
11783  0 /*untilTimeCode (0/15)*/,
11784  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11785  },
11786  // -3:40:52 - PMT 1935
11787  {
11788  nullptr /*zonePolicy*/,
11789  "PMT" /*format*/,
11790  -884 /*offsetCode (-13252/15)*/,
11791  8 /*offsetRemainder (-13252%15)*/,
11792  0 /*deltaMinutes*/,
11793  1935 /*untilYear*/,
11794  1 /*untilMonth*/,
11795  1 /*untilDay*/,
11796  0 /*untilTimeCode (0/15)*/,
11797  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11798  },
11799  // -3:40:36 - PMT 1945 Oct
11800  {
11801  nullptr /*zonePolicy*/,
11802  "PMT" /*format*/,
11803  -883 /*offsetCode (-13236/15)*/,
11804  9 /*offsetRemainder (-13236%15)*/,
11805  0 /*deltaMinutes*/,
11806  1945 /*untilYear*/,
11807  10 /*untilMonth*/,
11808  1 /*untilDay*/,
11809  0 /*untilTimeCode (0/15)*/,
11810  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11811  },
11812  // -3:30 - %z 1984 Oct
11813  {
11814  nullptr /*zonePolicy*/,
11815  "" /*format*/,
11816  -840 /*offsetCode (-12600/15)*/,
11817  0 /*offsetRemainder (-12600%15)*/,
11818  0 /*deltaMinutes*/,
11819  1984 /*untilYear*/,
11820  10 /*untilMonth*/,
11821  1 /*untilDay*/,
11822  0 /*untilTimeCode (0/15)*/,
11823  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11824  },
11825  // -3:00 - %z
11826  {
11827  nullptr /*zonePolicy*/,
11828  "" /*format*/,
11829  -720 /*offsetCode (-10800/15)*/,
11830  0 /*offsetRemainder (-10800%15)*/,
11831  0 /*deltaMinutes*/,
11832  32767 /*untilYear*/,
11833  1 /*untilMonth*/,
11834  1 /*untilDay*/,
11835  0 /*untilTimeCode (0/15)*/,
11836  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11837  },
11838 
11839 };
11840 
11841 static const char kZoneNameAmerica_Paramaribo[] ACE_TIME_PROGMEM = "\x02" "Paramaribo";
11842 
11843 const complete::ZoneInfo kZoneAmerica_Paramaribo ACE_TIME_PROGMEM = {
11844  kZoneNameAmerica_Paramaribo /*name*/,
11845  0xb319e4c4 /*zoneId*/,
11846  &kZoneContext /*zoneContext*/,
11847  5 /*numEras*/,
11848  kZoneEraAmerica_Paramaribo /*eras*/,
11849  nullptr /*targetInfo*/,
11850 };
11851 
11852 //---------------------------------------------------------------------------
11853 // Zone name: America/Phoenix
11854 // Eras: 7
11855 //---------------------------------------------------------------------------
11856 
11857 static const complete::ZoneEra kZoneEraAmerica_Phoenix[] ACE_TIME_PROGMEM = {
11858  // -7:28:18 - LMT 1883 Nov 18 19:00u
11859  {
11860  nullptr /*zonePolicy*/,
11861  "LMT" /*format*/,
11862  -1794 /*offsetCode (-26898/15)*/,
11863  12 /*offsetRemainder (-26898%15)*/,
11864  0 /*deltaMinutes*/,
11865  1883 /*untilYear*/,
11866  11 /*untilMonth*/,
11867  18 /*untilDay*/,
11868  4560 /*untilTimeCode (68400/15)*/,
11869  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
11870  },
11871  // -7:00 US M%sT 1944 Jan 1 0:01
11872  {
11873  &kZonePolicyUS /*zonePolicy*/,
11874  "M%T" /*format*/,
11875  -1680 /*offsetCode (-25200/15)*/,
11876  0 /*offsetRemainder (-25200%15)*/,
11877  0 /*deltaMinutes*/,
11878  1944 /*untilYear*/,
11879  1 /*untilMonth*/,
11880  1 /*untilDay*/,
11881  4 /*untilTimeCode (60/15)*/,
11882  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11883  },
11884  // -7:00 - MST 1944 Apr 1 0:01
11885  {
11886  nullptr /*zonePolicy*/,
11887  "MST" /*format*/,
11888  -1680 /*offsetCode (-25200/15)*/,
11889  0 /*offsetRemainder (-25200%15)*/,
11890  0 /*deltaMinutes*/,
11891  1944 /*untilYear*/,
11892  4 /*untilMonth*/,
11893  1 /*untilDay*/,
11894  4 /*untilTimeCode (60/15)*/,
11895  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11896  },
11897  // -7:00 US M%sT 1944 Oct 1 0:01
11898  {
11899  &kZonePolicyUS /*zonePolicy*/,
11900  "M%T" /*format*/,
11901  -1680 /*offsetCode (-25200/15)*/,
11902  0 /*offsetRemainder (-25200%15)*/,
11903  0 /*deltaMinutes*/,
11904  1944 /*untilYear*/,
11905  10 /*untilMonth*/,
11906  1 /*untilDay*/,
11907  4 /*untilTimeCode (60/15)*/,
11908  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11909  },
11910  // -7:00 - MST 1967
11911  {
11912  nullptr /*zonePolicy*/,
11913  "MST" /*format*/,
11914  -1680 /*offsetCode (-25200/15)*/,
11915  0 /*offsetRemainder (-25200%15)*/,
11916  0 /*deltaMinutes*/,
11917  1967 /*untilYear*/,
11918  1 /*untilMonth*/,
11919  1 /*untilDay*/,
11920  0 /*untilTimeCode (0/15)*/,
11921  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11922  },
11923  // -7:00 US M%sT 1968 Mar 21
11924  {
11925  &kZonePolicyUS /*zonePolicy*/,
11926  "M%T" /*format*/,
11927  -1680 /*offsetCode (-25200/15)*/,
11928  0 /*offsetRemainder (-25200%15)*/,
11929  0 /*deltaMinutes*/,
11930  1968 /*untilYear*/,
11931  3 /*untilMonth*/,
11932  21 /*untilDay*/,
11933  0 /*untilTimeCode (0/15)*/,
11934  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11935  },
11936  // -7:00 - MST
11937  {
11938  nullptr /*zonePolicy*/,
11939  "MST" /*format*/,
11940  -1680 /*offsetCode (-25200/15)*/,
11941  0 /*offsetRemainder (-25200%15)*/,
11942  0 /*deltaMinutes*/,
11943  32767 /*untilYear*/,
11944  1 /*untilMonth*/,
11945  1 /*untilDay*/,
11946  0 /*untilTimeCode (0/15)*/,
11947  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11948  },
11949 
11950 };
11951 
11952 static const char kZoneNameAmerica_Phoenix[] ACE_TIME_PROGMEM = "\x02" "Phoenix";
11953 
11954 const complete::ZoneInfo kZoneAmerica_Phoenix ACE_TIME_PROGMEM = {
11955  kZoneNameAmerica_Phoenix /*name*/,
11956  0x34b5af01 /*zoneId*/,
11957  &kZoneContext /*zoneContext*/,
11958  7 /*numEras*/,
11959  kZoneEraAmerica_Phoenix /*eras*/,
11960  nullptr /*targetInfo*/,
11961 };
11962 
11963 //---------------------------------------------------------------------------
11964 // Zone name: America/Port-au-Prince
11965 // Eras: 3
11966 //---------------------------------------------------------------------------
11967 
11968 static const complete::ZoneEra kZoneEraAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = {
11969  // -4:49:20 - LMT 1890
11970  {
11971  nullptr /*zonePolicy*/,
11972  "LMT" /*format*/,
11973  -1158 /*offsetCode (-17360/15)*/,
11974  10 /*offsetRemainder (-17360%15)*/,
11975  0 /*deltaMinutes*/,
11976  1890 /*untilYear*/,
11977  1 /*untilMonth*/,
11978  1 /*untilDay*/,
11979  0 /*untilTimeCode (0/15)*/,
11980  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11981  },
11982  // -4:49 - PPMT 1917 Jan 24 12:00
11983  {
11984  nullptr /*zonePolicy*/,
11985  "PPMT" /*format*/,
11986  -1156 /*offsetCode (-17340/15)*/,
11987  0 /*offsetRemainder (-17340%15)*/,
11988  0 /*deltaMinutes*/,
11989  1917 /*untilYear*/,
11990  1 /*untilMonth*/,
11991  24 /*untilDay*/,
11992  2880 /*untilTimeCode (43200/15)*/,
11993  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
11994  },
11995  // -5:00 Haiti E%sT
11996  {
11997  &kZonePolicyHaiti /*zonePolicy*/,
11998  "E%T" /*format*/,
11999  -1200 /*offsetCode (-18000/15)*/,
12000  0 /*offsetRemainder (-18000%15)*/,
12001  0 /*deltaMinutes*/,
12002  32767 /*untilYear*/,
12003  1 /*untilMonth*/,
12004  1 /*untilDay*/,
12005  0 /*untilTimeCode (0/15)*/,
12006  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12007  },
12008 
12009 };
12010 
12011 static const char kZoneNameAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = "\x02" "Port-au-Prince";
12012 
12013 const complete::ZoneInfo kZoneAmerica_Port_au_Prince ACE_TIME_PROGMEM = {
12014  kZoneNameAmerica_Port_au_Prince /*name*/,
12015  0x8e4a7bdc /*zoneId*/,
12016  &kZoneContext /*zoneContext*/,
12017  3 /*numEras*/,
12018  kZoneEraAmerica_Port_au_Prince /*eras*/,
12019  nullptr /*targetInfo*/,
12020 };
12021 
12022 //---------------------------------------------------------------------------
12023 // Zone name: America/Porto_Velho
12024 // Eras: 3
12025 //---------------------------------------------------------------------------
12026 
12027 static const complete::ZoneEra kZoneEraAmerica_Porto_Velho[] ACE_TIME_PROGMEM = {
12028  // -4:15:36 - LMT 1914
12029  {
12030  nullptr /*zonePolicy*/,
12031  "LMT" /*format*/,
12032  -1023 /*offsetCode (-15336/15)*/,
12033  9 /*offsetRemainder (-15336%15)*/,
12034  0 /*deltaMinutes*/,
12035  1914 /*untilYear*/,
12036  1 /*untilMonth*/,
12037  1 /*untilDay*/,
12038  0 /*untilTimeCode (0/15)*/,
12039  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12040  },
12041  // -4:00 Brazil %z 1988 Sep 12
12042  {
12043  &kZonePolicyBrazil /*zonePolicy*/,
12044  "" /*format*/,
12045  -960 /*offsetCode (-14400/15)*/,
12046  0 /*offsetRemainder (-14400%15)*/,
12047  0 /*deltaMinutes*/,
12048  1988 /*untilYear*/,
12049  9 /*untilMonth*/,
12050  12 /*untilDay*/,
12051  0 /*untilTimeCode (0/15)*/,
12052  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12053  },
12054  // -4:00 - %z
12055  {
12056  nullptr /*zonePolicy*/,
12057  "" /*format*/,
12058  -960 /*offsetCode (-14400/15)*/,
12059  0 /*offsetRemainder (-14400%15)*/,
12060  0 /*deltaMinutes*/,
12061  32767 /*untilYear*/,
12062  1 /*untilMonth*/,
12063  1 /*untilDay*/,
12064  0 /*untilTimeCode (0/15)*/,
12065  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12066  },
12067 
12068 };
12069 
12070 static const char kZoneNameAmerica_Porto_Velho[] ACE_TIME_PROGMEM = "\x02" "Porto_Velho";
12071 
12072 const complete::ZoneInfo kZoneAmerica_Porto_Velho ACE_TIME_PROGMEM = {
12073  kZoneNameAmerica_Porto_Velho /*name*/,
12074  0x6b1aac77 /*zoneId*/,
12075  &kZoneContext /*zoneContext*/,
12076  3 /*numEras*/,
12077  kZoneEraAmerica_Porto_Velho /*eras*/,
12078  nullptr /*targetInfo*/,
12079 };
12080 
12081 //---------------------------------------------------------------------------
12082 // Zone name: America/Puerto_Rico
12083 // Eras: 4
12084 //---------------------------------------------------------------------------
12085 
12086 static const complete::ZoneEra kZoneEraAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = {
12087  // -4:24:25 - LMT 1899 Mar 28 12:00
12088  {
12089  nullptr /*zonePolicy*/,
12090  "LMT" /*format*/,
12091  -1058 /*offsetCode (-15865/15)*/,
12092  5 /*offsetRemainder (-15865%15)*/,
12093  0 /*deltaMinutes*/,
12094  1899 /*untilYear*/,
12095  3 /*untilMonth*/,
12096  28 /*untilDay*/,
12097  2880 /*untilTimeCode (43200/15)*/,
12098  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12099  },
12100  // -4:00 - AST 1942 May 3
12101  {
12102  nullptr /*zonePolicy*/,
12103  "AST" /*format*/,
12104  -960 /*offsetCode (-14400/15)*/,
12105  0 /*offsetRemainder (-14400%15)*/,
12106  0 /*deltaMinutes*/,
12107  1942 /*untilYear*/,
12108  5 /*untilMonth*/,
12109  3 /*untilDay*/,
12110  0 /*untilTimeCode (0/15)*/,
12111  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12112  },
12113  // -4:00 US A%sT 1946
12114  {
12115  &kZonePolicyUS /*zonePolicy*/,
12116  "A%T" /*format*/,
12117  -960 /*offsetCode (-14400/15)*/,
12118  0 /*offsetRemainder (-14400%15)*/,
12119  0 /*deltaMinutes*/,
12120  1946 /*untilYear*/,
12121  1 /*untilMonth*/,
12122  1 /*untilDay*/,
12123  0 /*untilTimeCode (0/15)*/,
12124  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12125  },
12126  // -4:00 - AST
12127  {
12128  nullptr /*zonePolicy*/,
12129  "AST" /*format*/,
12130  -960 /*offsetCode (-14400/15)*/,
12131  0 /*offsetRemainder (-14400%15)*/,
12132  0 /*deltaMinutes*/,
12133  32767 /*untilYear*/,
12134  1 /*untilMonth*/,
12135  1 /*untilDay*/,
12136  0 /*untilTimeCode (0/15)*/,
12137  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12138  },
12139 
12140 };
12141 
12142 static const char kZoneNameAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = "\x02" "Puerto_Rico";
12143 
12144 const complete::ZoneInfo kZoneAmerica_Puerto_Rico ACE_TIME_PROGMEM = {
12145  kZoneNameAmerica_Puerto_Rico /*name*/,
12146  0x6752ca31 /*zoneId*/,
12147  &kZoneContext /*zoneContext*/,
12148  4 /*numEras*/,
12149  kZoneEraAmerica_Puerto_Rico /*eras*/,
12150  nullptr /*targetInfo*/,
12151 };
12152 
12153 //---------------------------------------------------------------------------
12154 // Zone name: America/Punta_Arenas
12155 // Eras: 14
12156 //---------------------------------------------------------------------------
12157 
12158 static const complete::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = {
12159  // -4:43:40 - LMT 1890
12160  {
12161  nullptr /*zonePolicy*/,
12162  "LMT" /*format*/,
12163  -1135 /*offsetCode (-17020/15)*/,
12164  5 /*offsetRemainder (-17020%15)*/,
12165  0 /*deltaMinutes*/,
12166  1890 /*untilYear*/,
12167  1 /*untilMonth*/,
12168  1 /*untilDay*/,
12169  0 /*untilTimeCode (0/15)*/,
12170  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12171  },
12172  // -4:42:45 - SMT 1910 Jan 10
12173  {
12174  nullptr /*zonePolicy*/,
12175  "SMT" /*format*/,
12176  -1131 /*offsetCode (-16965/15)*/,
12177  0 /*offsetRemainder (-16965%15)*/,
12178  0 /*deltaMinutes*/,
12179  1910 /*untilYear*/,
12180  1 /*untilMonth*/,
12181  10 /*untilDay*/,
12182  0 /*untilTimeCode (0/15)*/,
12183  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12184  },
12185  // -5:00 - %z 1916 Jul 1
12186  {
12187  nullptr /*zonePolicy*/,
12188  "" /*format*/,
12189  -1200 /*offsetCode (-18000/15)*/,
12190  0 /*offsetRemainder (-18000%15)*/,
12191  0 /*deltaMinutes*/,
12192  1916 /*untilYear*/,
12193  7 /*untilMonth*/,
12194  1 /*untilDay*/,
12195  0 /*untilTimeCode (0/15)*/,
12196  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12197  },
12198  // -4:42:45 - SMT 1918 Sep 10
12199  {
12200  nullptr /*zonePolicy*/,
12201  "SMT" /*format*/,
12202  -1131 /*offsetCode (-16965/15)*/,
12203  0 /*offsetRemainder (-16965%15)*/,
12204  0 /*deltaMinutes*/,
12205  1918 /*untilYear*/,
12206  9 /*untilMonth*/,
12207  10 /*untilDay*/,
12208  0 /*untilTimeCode (0/15)*/,
12209  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12210  },
12211  // -4:00 - %z 1919 Jul 1
12212  {
12213  nullptr /*zonePolicy*/,
12214  "" /*format*/,
12215  -960 /*offsetCode (-14400/15)*/,
12216  0 /*offsetRemainder (-14400%15)*/,
12217  0 /*deltaMinutes*/,
12218  1919 /*untilYear*/,
12219  7 /*untilMonth*/,
12220  1 /*untilDay*/,
12221  0 /*untilTimeCode (0/15)*/,
12222  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12223  },
12224  // -4:42:45 - SMT 1927 Sep 1
12225  {
12226  nullptr /*zonePolicy*/,
12227  "SMT" /*format*/,
12228  -1131 /*offsetCode (-16965/15)*/,
12229  0 /*offsetRemainder (-16965%15)*/,
12230  0 /*deltaMinutes*/,
12231  1927 /*untilYear*/,
12232  9 /*untilMonth*/,
12233  1 /*untilDay*/,
12234  0 /*untilTimeCode (0/15)*/,
12235  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12236  },
12237  // -5:00 Chile %z 1932 Sep 1
12238  {
12239  &kZonePolicyChile /*zonePolicy*/,
12240  "" /*format*/,
12241  -1200 /*offsetCode (-18000/15)*/,
12242  0 /*offsetRemainder (-18000%15)*/,
12243  0 /*deltaMinutes*/,
12244  1932 /*untilYear*/,
12245  9 /*untilMonth*/,
12246  1 /*untilDay*/,
12247  0 /*untilTimeCode (0/15)*/,
12248  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12249  },
12250  // -4:00 - %z 1942 Jun 1
12251  {
12252  nullptr /*zonePolicy*/,
12253  "" /*format*/,
12254  -960 /*offsetCode (-14400/15)*/,
12255  0 /*offsetRemainder (-14400%15)*/,
12256  0 /*deltaMinutes*/,
12257  1942 /*untilYear*/,
12258  6 /*untilMonth*/,
12259  1 /*untilDay*/,
12260  0 /*untilTimeCode (0/15)*/,
12261  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12262  },
12263  // -5:00 - %z 1942 Aug 1
12264  {
12265  nullptr /*zonePolicy*/,
12266  "" /*format*/,
12267  -1200 /*offsetCode (-18000/15)*/,
12268  0 /*offsetRemainder (-18000%15)*/,
12269  0 /*deltaMinutes*/,
12270  1942 /*untilYear*/,
12271  8 /*untilMonth*/,
12272  1 /*untilDay*/,
12273  0 /*untilTimeCode (0/15)*/,
12274  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12275  },
12276  // -4:00 - %z 1946 Aug 28 24:00
12277  {
12278  nullptr /*zonePolicy*/,
12279  "" /*format*/,
12280  -960 /*offsetCode (-14400/15)*/,
12281  0 /*offsetRemainder (-14400%15)*/,
12282  0 /*deltaMinutes*/,
12283  1946 /*untilYear*/,
12284  8 /*untilMonth*/,
12285  28 /*untilDay*/,
12286  5760 /*untilTimeCode (86400/15)*/,
12287  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12288  },
12289  // -5:00 1:00 %z 1947 Mar 31 24:00
12290  {
12291  nullptr /*zonePolicy*/,
12292  "" /*format*/,
12293  -1200 /*offsetCode (-18000/15)*/,
12294  0 /*offsetRemainder (-18000%15)*/,
12295  60 /*deltaMinutes*/,
12296  1947 /*untilYear*/,
12297  3 /*untilMonth*/,
12298  31 /*untilDay*/,
12299  5760 /*untilTimeCode (86400/15)*/,
12300  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12301  },
12302  // -5:00 - %z 1947 May 21 23:00
12303  {
12304  nullptr /*zonePolicy*/,
12305  "" /*format*/,
12306  -1200 /*offsetCode (-18000/15)*/,
12307  0 /*offsetRemainder (-18000%15)*/,
12308  0 /*deltaMinutes*/,
12309  1947 /*untilYear*/,
12310  5 /*untilMonth*/,
12311  21 /*untilDay*/,
12312  5520 /*untilTimeCode (82800/15)*/,
12313  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12314  },
12315  // -4:00 Chile %z 2016 Dec 4
12316  {
12317  &kZonePolicyChile /*zonePolicy*/,
12318  "" /*format*/,
12319  -960 /*offsetCode (-14400/15)*/,
12320  0 /*offsetRemainder (-14400%15)*/,
12321  0 /*deltaMinutes*/,
12322  2016 /*untilYear*/,
12323  12 /*untilMonth*/,
12324  4 /*untilDay*/,
12325  0 /*untilTimeCode (0/15)*/,
12326  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12327  },
12328  // -3:00 - %z
12329  {
12330  nullptr /*zonePolicy*/,
12331  "" /*format*/,
12332  -720 /*offsetCode (-10800/15)*/,
12333  0 /*offsetRemainder (-10800%15)*/,
12334  0 /*deltaMinutes*/,
12335  32767 /*untilYear*/,
12336  1 /*untilMonth*/,
12337  1 /*untilDay*/,
12338  0 /*untilTimeCode (0/15)*/,
12339  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12340  },
12341 
12342 };
12343 
12344 static const char kZoneNameAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = "\x02" "Punta_Arenas";
12345 
12346 const complete::ZoneInfo kZoneAmerica_Punta_Arenas ACE_TIME_PROGMEM = {
12347  kZoneNameAmerica_Punta_Arenas /*name*/,
12348  0xc2c3bce7 /*zoneId*/,
12349  &kZoneContext /*zoneContext*/,
12350  14 /*numEras*/,
12351  kZoneEraAmerica_Punta_Arenas /*eras*/,
12352  nullptr /*targetInfo*/,
12353 };
12354 
12355 //---------------------------------------------------------------------------
12356 // Zone name: America/Rankin_Inlet
12357 // Eras: 4
12358 //---------------------------------------------------------------------------
12359 
12360 static const complete::ZoneEra kZoneEraAmerica_Rankin_Inlet[] ACE_TIME_PROGMEM = {
12361  // 0 - -00 1957
12362  {
12363  nullptr /*zonePolicy*/,
12364  "-00" /*format*/,
12365  0 /*offsetCode (0/15)*/,
12366  0 /*offsetRemainder (0%15)*/,
12367  0 /*deltaMinutes*/,
12368  1957 /*untilYear*/,
12369  1 /*untilMonth*/,
12370  1 /*untilDay*/,
12371  0 /*untilTimeCode (0/15)*/,
12372  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12373  },
12374  // -6:00 NT_YK C%sT 2000 Oct 29 2:00
12375  {
12376  &kZonePolicyNT_YK /*zonePolicy*/,
12377  "C%T" /*format*/,
12378  -1440 /*offsetCode (-21600/15)*/,
12379  0 /*offsetRemainder (-21600%15)*/,
12380  0 /*deltaMinutes*/,
12381  2000 /*untilYear*/,
12382  10 /*untilMonth*/,
12383  29 /*untilDay*/,
12384  480 /*untilTimeCode (7200/15)*/,
12385  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12386  },
12387  // -5:00 - EST 2001 Apr 1 3:00
12388  {
12389  nullptr /*zonePolicy*/,
12390  "EST" /*format*/,
12391  -1200 /*offsetCode (-18000/15)*/,
12392  0 /*offsetRemainder (-18000%15)*/,
12393  0 /*deltaMinutes*/,
12394  2001 /*untilYear*/,
12395  4 /*untilMonth*/,
12396  1 /*untilDay*/,
12397  720 /*untilTimeCode (10800/15)*/,
12398  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12399  },
12400  // -6:00 Canada C%sT
12401  {
12402  &kZonePolicyCanada /*zonePolicy*/,
12403  "C%T" /*format*/,
12404  -1440 /*offsetCode (-21600/15)*/,
12405  0 /*offsetRemainder (-21600%15)*/,
12406  0 /*deltaMinutes*/,
12407  32767 /*untilYear*/,
12408  1 /*untilMonth*/,
12409  1 /*untilDay*/,
12410  0 /*untilTimeCode (0/15)*/,
12411  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12412  },
12413 
12414 };
12415 
12416 static const char kZoneNameAmerica_Rankin_Inlet[] ACE_TIME_PROGMEM = "\x02" "Rankin_Inlet";
12417 
12418 const complete::ZoneInfo kZoneAmerica_Rankin_Inlet ACE_TIME_PROGMEM = {
12419  kZoneNameAmerica_Rankin_Inlet /*name*/,
12420  0xc8de4984 /*zoneId*/,
12421  &kZoneContext /*zoneContext*/,
12422  4 /*numEras*/,
12423  kZoneEraAmerica_Rankin_Inlet /*eras*/,
12424  nullptr /*targetInfo*/,
12425 };
12426 
12427 //---------------------------------------------------------------------------
12428 // Zone name: America/Recife
12429 // Eras: 7
12430 //---------------------------------------------------------------------------
12431 
12432 static const complete::ZoneEra kZoneEraAmerica_Recife[] ACE_TIME_PROGMEM = {
12433  // -2:19:36 - LMT 1914
12434  {
12435  nullptr /*zonePolicy*/,
12436  "LMT" /*format*/,
12437  -559 /*offsetCode (-8376/15)*/,
12438  9 /*offsetRemainder (-8376%15)*/,
12439  0 /*deltaMinutes*/,
12440  1914 /*untilYear*/,
12441  1 /*untilMonth*/,
12442  1 /*untilDay*/,
12443  0 /*untilTimeCode (0/15)*/,
12444  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12445  },
12446  // -3:00 Brazil %z 1990 Sep 17
12447  {
12448  &kZonePolicyBrazil /*zonePolicy*/,
12449  "" /*format*/,
12450  -720 /*offsetCode (-10800/15)*/,
12451  0 /*offsetRemainder (-10800%15)*/,
12452  0 /*deltaMinutes*/,
12453  1990 /*untilYear*/,
12454  9 /*untilMonth*/,
12455  17 /*untilDay*/,
12456  0 /*untilTimeCode (0/15)*/,
12457  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12458  },
12459  // -3:00 - %z 1999 Sep 30
12460  {
12461  nullptr /*zonePolicy*/,
12462  "" /*format*/,
12463  -720 /*offsetCode (-10800/15)*/,
12464  0 /*offsetRemainder (-10800%15)*/,
12465  0 /*deltaMinutes*/,
12466  1999 /*untilYear*/,
12467  9 /*untilMonth*/,
12468  30 /*untilDay*/,
12469  0 /*untilTimeCode (0/15)*/,
12470  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12471  },
12472  // -3:00 Brazil %z 2000 Oct 15
12473  {
12474  &kZonePolicyBrazil /*zonePolicy*/,
12475  "" /*format*/,
12476  -720 /*offsetCode (-10800/15)*/,
12477  0 /*offsetRemainder (-10800%15)*/,
12478  0 /*deltaMinutes*/,
12479  2000 /*untilYear*/,
12480  10 /*untilMonth*/,
12481  15 /*untilDay*/,
12482  0 /*untilTimeCode (0/15)*/,
12483  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12484  },
12485  // -3:00 - %z 2001 Sep 13
12486  {
12487  nullptr /*zonePolicy*/,
12488  "" /*format*/,
12489  -720 /*offsetCode (-10800/15)*/,
12490  0 /*offsetRemainder (-10800%15)*/,
12491  0 /*deltaMinutes*/,
12492  2001 /*untilYear*/,
12493  9 /*untilMonth*/,
12494  13 /*untilDay*/,
12495  0 /*untilTimeCode (0/15)*/,
12496  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12497  },
12498  // -3:00 Brazil %z 2002 Oct 1
12499  {
12500  &kZonePolicyBrazil /*zonePolicy*/,
12501  "" /*format*/,
12502  -720 /*offsetCode (-10800/15)*/,
12503  0 /*offsetRemainder (-10800%15)*/,
12504  0 /*deltaMinutes*/,
12505  2002 /*untilYear*/,
12506  10 /*untilMonth*/,
12507  1 /*untilDay*/,
12508  0 /*untilTimeCode (0/15)*/,
12509  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12510  },
12511  // -3:00 - %z
12512  {
12513  nullptr /*zonePolicy*/,
12514  "" /*format*/,
12515  -720 /*offsetCode (-10800/15)*/,
12516  0 /*offsetRemainder (-10800%15)*/,
12517  0 /*deltaMinutes*/,
12518  32767 /*untilYear*/,
12519  1 /*untilMonth*/,
12520  1 /*untilDay*/,
12521  0 /*untilTimeCode (0/15)*/,
12522  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12523  },
12524 
12525 };
12526 
12527 static const char kZoneNameAmerica_Recife[] ACE_TIME_PROGMEM = "\x02" "Recife";
12528 
12529 const complete::ZoneInfo kZoneAmerica_Recife ACE_TIME_PROGMEM = {
12530  kZoneNameAmerica_Recife /*name*/,
12531  0xb8730494 /*zoneId*/,
12532  &kZoneContext /*zoneContext*/,
12533  7 /*numEras*/,
12534  kZoneEraAmerica_Recife /*eras*/,
12535  nullptr /*targetInfo*/,
12536 };
12537 
12538 //---------------------------------------------------------------------------
12539 // Zone name: America/Regina
12540 // Eras: 3
12541 //---------------------------------------------------------------------------
12542 
12543 static const complete::ZoneEra kZoneEraAmerica_Regina[] ACE_TIME_PROGMEM = {
12544  // -6:58:36 - LMT 1905 Sep
12545  {
12546  nullptr /*zonePolicy*/,
12547  "LMT" /*format*/,
12548  -1675 /*offsetCode (-25116/15)*/,
12549  9 /*offsetRemainder (-25116%15)*/,
12550  0 /*deltaMinutes*/,
12551  1905 /*untilYear*/,
12552  9 /*untilMonth*/,
12553  1 /*untilDay*/,
12554  0 /*untilTimeCode (0/15)*/,
12555  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12556  },
12557  // -7:00 Regina M%sT 1960 Apr lastSun 2:00
12558  {
12559  &kZonePolicyRegina /*zonePolicy*/,
12560  "M%T" /*format*/,
12561  -1680 /*offsetCode (-25200/15)*/,
12562  0 /*offsetRemainder (-25200%15)*/,
12563  0 /*deltaMinutes*/,
12564  1960 /*untilYear*/,
12565  4 /*untilMonth*/,
12566  24 /*untilDay*/,
12567  480 /*untilTimeCode (7200/15)*/,
12568  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12569  },
12570  // -6:00 - CST
12571  {
12572  nullptr /*zonePolicy*/,
12573  "CST" /*format*/,
12574  -1440 /*offsetCode (-21600/15)*/,
12575  0 /*offsetRemainder (-21600%15)*/,
12576  0 /*deltaMinutes*/,
12577  32767 /*untilYear*/,
12578  1 /*untilMonth*/,
12579  1 /*untilDay*/,
12580  0 /*untilTimeCode (0/15)*/,
12581  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12582  },
12583 
12584 };
12585 
12586 static const char kZoneNameAmerica_Regina[] ACE_TIME_PROGMEM = "\x02" "Regina";
12587 
12588 const complete::ZoneInfo kZoneAmerica_Regina ACE_TIME_PROGMEM = {
12589  kZoneNameAmerica_Regina /*name*/,
12590  0xb875371c /*zoneId*/,
12591  &kZoneContext /*zoneContext*/,
12592  3 /*numEras*/,
12593  kZoneEraAmerica_Regina /*eras*/,
12594  nullptr /*targetInfo*/,
12595 };
12596 
12597 //---------------------------------------------------------------------------
12598 // Zone name: America/Resolute
12599 // Eras: 6
12600 //---------------------------------------------------------------------------
12601 
12602 static const complete::ZoneEra kZoneEraAmerica_Resolute[] ACE_TIME_PROGMEM = {
12603  // 0 - -00 1947 Aug 31
12604  {
12605  nullptr /*zonePolicy*/,
12606  "-00" /*format*/,
12607  0 /*offsetCode (0/15)*/,
12608  0 /*offsetRemainder (0%15)*/,
12609  0 /*deltaMinutes*/,
12610  1947 /*untilYear*/,
12611  8 /*untilMonth*/,
12612  31 /*untilDay*/,
12613  0 /*untilTimeCode (0/15)*/,
12614  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12615  },
12616  // -6:00 NT_YK C%sT 2000 Oct 29 2:00
12617  {
12618  &kZonePolicyNT_YK /*zonePolicy*/,
12619  "C%T" /*format*/,
12620  -1440 /*offsetCode (-21600/15)*/,
12621  0 /*offsetRemainder (-21600%15)*/,
12622  0 /*deltaMinutes*/,
12623  2000 /*untilYear*/,
12624  10 /*untilMonth*/,
12625  29 /*untilDay*/,
12626  480 /*untilTimeCode (7200/15)*/,
12627  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12628  },
12629  // -5:00 - EST 2001 Apr 1 3:00
12630  {
12631  nullptr /*zonePolicy*/,
12632  "EST" /*format*/,
12633  -1200 /*offsetCode (-18000/15)*/,
12634  0 /*offsetRemainder (-18000%15)*/,
12635  0 /*deltaMinutes*/,
12636  2001 /*untilYear*/,
12637  4 /*untilMonth*/,
12638  1 /*untilDay*/,
12639  720 /*untilTimeCode (10800/15)*/,
12640  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12641  },
12642  // -6:00 Canada C%sT 2006 Oct 29 2:00
12643  {
12644  &kZonePolicyCanada /*zonePolicy*/,
12645  "C%T" /*format*/,
12646  -1440 /*offsetCode (-21600/15)*/,
12647  0 /*offsetRemainder (-21600%15)*/,
12648  0 /*deltaMinutes*/,
12649  2006 /*untilYear*/,
12650  10 /*untilMonth*/,
12651  29 /*untilDay*/,
12652  480 /*untilTimeCode (7200/15)*/,
12653  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12654  },
12655  // -5:00 - EST 2007 Mar 11 3:00
12656  {
12657  nullptr /*zonePolicy*/,
12658  "EST" /*format*/,
12659  -1200 /*offsetCode (-18000/15)*/,
12660  0 /*offsetRemainder (-18000%15)*/,
12661  0 /*deltaMinutes*/,
12662  2007 /*untilYear*/,
12663  3 /*untilMonth*/,
12664  11 /*untilDay*/,
12665  720 /*untilTimeCode (10800/15)*/,
12666  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12667  },
12668  // -6:00 Canada C%sT
12669  {
12670  &kZonePolicyCanada /*zonePolicy*/,
12671  "C%T" /*format*/,
12672  -1440 /*offsetCode (-21600/15)*/,
12673  0 /*offsetRemainder (-21600%15)*/,
12674  0 /*deltaMinutes*/,
12675  32767 /*untilYear*/,
12676  1 /*untilMonth*/,
12677  1 /*untilDay*/,
12678  0 /*untilTimeCode (0/15)*/,
12679  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12680  },
12681 
12682 };
12683 
12684 static const char kZoneNameAmerica_Resolute[] ACE_TIME_PROGMEM = "\x02" "Resolute";
12685 
12686 const complete::ZoneInfo kZoneAmerica_Resolute ACE_TIME_PROGMEM = {
12687  kZoneNameAmerica_Resolute /*name*/,
12688  0xc7093459 /*zoneId*/,
12689  &kZoneContext /*zoneContext*/,
12690  6 /*numEras*/,
12691  kZoneEraAmerica_Resolute /*eras*/,
12692  nullptr /*targetInfo*/,
12693 };
12694 
12695 //---------------------------------------------------------------------------
12696 // Zone name: America/Rio_Branco
12697 // Eras: 5
12698 //---------------------------------------------------------------------------
12699 
12700 static const complete::ZoneEra kZoneEraAmerica_Rio_Branco[] ACE_TIME_PROGMEM = {
12701  // -4:31:12 - LMT 1914
12702  {
12703  nullptr /*zonePolicy*/,
12704  "LMT" /*format*/,
12705  -1085 /*offsetCode (-16272/15)*/,
12706  3 /*offsetRemainder (-16272%15)*/,
12707  0 /*deltaMinutes*/,
12708  1914 /*untilYear*/,
12709  1 /*untilMonth*/,
12710  1 /*untilDay*/,
12711  0 /*untilTimeCode (0/15)*/,
12712  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12713  },
12714  // -5:00 Brazil %z 1988 Sep 12
12715  {
12716  &kZonePolicyBrazil /*zonePolicy*/,
12717  "" /*format*/,
12718  -1200 /*offsetCode (-18000/15)*/,
12719  0 /*offsetRemainder (-18000%15)*/,
12720  0 /*deltaMinutes*/,
12721  1988 /*untilYear*/,
12722  9 /*untilMonth*/,
12723  12 /*untilDay*/,
12724  0 /*untilTimeCode (0/15)*/,
12725  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12726  },
12727  // -5:00 - %z 2008 Jun 24 0:00
12728  {
12729  nullptr /*zonePolicy*/,
12730  "" /*format*/,
12731  -1200 /*offsetCode (-18000/15)*/,
12732  0 /*offsetRemainder (-18000%15)*/,
12733  0 /*deltaMinutes*/,
12734  2008 /*untilYear*/,
12735  6 /*untilMonth*/,
12736  24 /*untilDay*/,
12737  0 /*untilTimeCode (0/15)*/,
12738  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12739  },
12740  // -4:00 - %z 2013 Nov 10
12741  {
12742  nullptr /*zonePolicy*/,
12743  "" /*format*/,
12744  -960 /*offsetCode (-14400/15)*/,
12745  0 /*offsetRemainder (-14400%15)*/,
12746  0 /*deltaMinutes*/,
12747  2013 /*untilYear*/,
12748  11 /*untilMonth*/,
12749  10 /*untilDay*/,
12750  0 /*untilTimeCode (0/15)*/,
12751  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12752  },
12753  // -5:00 - %z
12754  {
12755  nullptr /*zonePolicy*/,
12756  "" /*format*/,
12757  -1200 /*offsetCode (-18000/15)*/,
12758  0 /*offsetRemainder (-18000%15)*/,
12759  0 /*deltaMinutes*/,
12760  32767 /*untilYear*/,
12761  1 /*untilMonth*/,
12762  1 /*untilDay*/,
12763  0 /*untilTimeCode (0/15)*/,
12764  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12765  },
12766 
12767 };
12768 
12769 static const char kZoneNameAmerica_Rio_Branco[] ACE_TIME_PROGMEM = "\x02" "Rio_Branco";
12770 
12771 const complete::ZoneInfo kZoneAmerica_Rio_Branco ACE_TIME_PROGMEM = {
12772  kZoneNameAmerica_Rio_Branco /*name*/,
12773  0x9d352764 /*zoneId*/,
12774  &kZoneContext /*zoneContext*/,
12775  5 /*numEras*/,
12776  kZoneEraAmerica_Rio_Branco /*eras*/,
12777  nullptr /*targetInfo*/,
12778 };
12779 
12780 //---------------------------------------------------------------------------
12781 // Zone name: America/Santarem
12782 // Eras: 4
12783 //---------------------------------------------------------------------------
12784 
12785 static const complete::ZoneEra kZoneEraAmerica_Santarem[] ACE_TIME_PROGMEM = {
12786  // -3:38:48 - LMT 1914
12787  {
12788  nullptr /*zonePolicy*/,
12789  "LMT" /*format*/,
12790  -876 /*offsetCode (-13128/15)*/,
12791  12 /*offsetRemainder (-13128%15)*/,
12792  0 /*deltaMinutes*/,
12793  1914 /*untilYear*/,
12794  1 /*untilMonth*/,
12795  1 /*untilDay*/,
12796  0 /*untilTimeCode (0/15)*/,
12797  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12798  },
12799  // -4:00 Brazil %z 1988 Sep 12
12800  {
12801  &kZonePolicyBrazil /*zonePolicy*/,
12802  "" /*format*/,
12803  -960 /*offsetCode (-14400/15)*/,
12804  0 /*offsetRemainder (-14400%15)*/,
12805  0 /*deltaMinutes*/,
12806  1988 /*untilYear*/,
12807  9 /*untilMonth*/,
12808  12 /*untilDay*/,
12809  0 /*untilTimeCode (0/15)*/,
12810  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12811  },
12812  // -4:00 - %z 2008 Jun 24 0:00
12813  {
12814  nullptr /*zonePolicy*/,
12815  "" /*format*/,
12816  -960 /*offsetCode (-14400/15)*/,
12817  0 /*offsetRemainder (-14400%15)*/,
12818  0 /*deltaMinutes*/,
12819  2008 /*untilYear*/,
12820  6 /*untilMonth*/,
12821  24 /*untilDay*/,
12822  0 /*untilTimeCode (0/15)*/,
12823  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12824  },
12825  // -3:00 - %z
12826  {
12827  nullptr /*zonePolicy*/,
12828  "" /*format*/,
12829  -720 /*offsetCode (-10800/15)*/,
12830  0 /*offsetRemainder (-10800%15)*/,
12831  0 /*deltaMinutes*/,
12832  32767 /*untilYear*/,
12833  1 /*untilMonth*/,
12834  1 /*untilDay*/,
12835  0 /*untilTimeCode (0/15)*/,
12836  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12837  },
12838 
12839 };
12840 
12841 static const char kZoneNameAmerica_Santarem[] ACE_TIME_PROGMEM = "\x02" "Santarem";
12842 
12843 const complete::ZoneInfo kZoneAmerica_Santarem ACE_TIME_PROGMEM = {
12844  kZoneNameAmerica_Santarem /*name*/,
12845  0x740caec1 /*zoneId*/,
12846  &kZoneContext /*zoneContext*/,
12847  4 /*numEras*/,
12848  kZoneEraAmerica_Santarem /*eras*/,
12849  nullptr /*targetInfo*/,
12850 };
12851 
12852 //---------------------------------------------------------------------------
12853 // Zone name: America/Santiago
12854 // Eras: 14
12855 //---------------------------------------------------------------------------
12856 
12857 static const complete::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = {
12858  // -4:42:45 - LMT 1890
12859  {
12860  nullptr /*zonePolicy*/,
12861  "LMT" /*format*/,
12862  -1131 /*offsetCode (-16965/15)*/,
12863  0 /*offsetRemainder (-16965%15)*/,
12864  0 /*deltaMinutes*/,
12865  1890 /*untilYear*/,
12866  1 /*untilMonth*/,
12867  1 /*untilDay*/,
12868  0 /*untilTimeCode (0/15)*/,
12869  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12870  },
12871  // -4:42:45 - SMT 1910 Jan 10
12872  {
12873  nullptr /*zonePolicy*/,
12874  "SMT" /*format*/,
12875  -1131 /*offsetCode (-16965/15)*/,
12876  0 /*offsetRemainder (-16965%15)*/,
12877  0 /*deltaMinutes*/,
12878  1910 /*untilYear*/,
12879  1 /*untilMonth*/,
12880  10 /*untilDay*/,
12881  0 /*untilTimeCode (0/15)*/,
12882  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12883  },
12884  // -5:00 - %z 1916 Jul 1
12885  {
12886  nullptr /*zonePolicy*/,
12887  "" /*format*/,
12888  -1200 /*offsetCode (-18000/15)*/,
12889  0 /*offsetRemainder (-18000%15)*/,
12890  0 /*deltaMinutes*/,
12891  1916 /*untilYear*/,
12892  7 /*untilMonth*/,
12893  1 /*untilDay*/,
12894  0 /*untilTimeCode (0/15)*/,
12895  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12896  },
12897  // -4:42:45 - SMT 1918 Sep 10
12898  {
12899  nullptr /*zonePolicy*/,
12900  "SMT" /*format*/,
12901  -1131 /*offsetCode (-16965/15)*/,
12902  0 /*offsetRemainder (-16965%15)*/,
12903  0 /*deltaMinutes*/,
12904  1918 /*untilYear*/,
12905  9 /*untilMonth*/,
12906  10 /*untilDay*/,
12907  0 /*untilTimeCode (0/15)*/,
12908  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12909  },
12910  // -4:00 - %z 1919 Jul 1
12911  {
12912  nullptr /*zonePolicy*/,
12913  "" /*format*/,
12914  -960 /*offsetCode (-14400/15)*/,
12915  0 /*offsetRemainder (-14400%15)*/,
12916  0 /*deltaMinutes*/,
12917  1919 /*untilYear*/,
12918  7 /*untilMonth*/,
12919  1 /*untilDay*/,
12920  0 /*untilTimeCode (0/15)*/,
12921  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12922  },
12923  // -4:42:45 - SMT 1927 Sep 1
12924  {
12925  nullptr /*zonePolicy*/,
12926  "SMT" /*format*/,
12927  -1131 /*offsetCode (-16965/15)*/,
12928  0 /*offsetRemainder (-16965%15)*/,
12929  0 /*deltaMinutes*/,
12930  1927 /*untilYear*/,
12931  9 /*untilMonth*/,
12932  1 /*untilDay*/,
12933  0 /*untilTimeCode (0/15)*/,
12934  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12935  },
12936  // -5:00 Chile %z 1932 Sep 1
12937  {
12938  &kZonePolicyChile /*zonePolicy*/,
12939  "" /*format*/,
12940  -1200 /*offsetCode (-18000/15)*/,
12941  0 /*offsetRemainder (-18000%15)*/,
12942  0 /*deltaMinutes*/,
12943  1932 /*untilYear*/,
12944  9 /*untilMonth*/,
12945  1 /*untilDay*/,
12946  0 /*untilTimeCode (0/15)*/,
12947  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12948  },
12949  // -4:00 - %z 1942 Jun 1
12950  {
12951  nullptr /*zonePolicy*/,
12952  "" /*format*/,
12953  -960 /*offsetCode (-14400/15)*/,
12954  0 /*offsetRemainder (-14400%15)*/,
12955  0 /*deltaMinutes*/,
12956  1942 /*untilYear*/,
12957  6 /*untilMonth*/,
12958  1 /*untilDay*/,
12959  0 /*untilTimeCode (0/15)*/,
12960  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12961  },
12962  // -5:00 - %z 1942 Aug 1
12963  {
12964  nullptr /*zonePolicy*/,
12965  "" /*format*/,
12966  -1200 /*offsetCode (-18000/15)*/,
12967  0 /*offsetRemainder (-18000%15)*/,
12968  0 /*deltaMinutes*/,
12969  1942 /*untilYear*/,
12970  8 /*untilMonth*/,
12971  1 /*untilDay*/,
12972  0 /*untilTimeCode (0/15)*/,
12973  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12974  },
12975  // -4:00 - %z 1946 Jul 14 24:00
12976  {
12977  nullptr /*zonePolicy*/,
12978  "" /*format*/,
12979  -960 /*offsetCode (-14400/15)*/,
12980  0 /*offsetRemainder (-14400%15)*/,
12981  0 /*deltaMinutes*/,
12982  1946 /*untilYear*/,
12983  7 /*untilMonth*/,
12984  14 /*untilDay*/,
12985  5760 /*untilTimeCode (86400/15)*/,
12986  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
12987  },
12988  // -4:00 1:00 %z 1946 Aug 28 24:00
12989  {
12990  nullptr /*zonePolicy*/,
12991  "" /*format*/,
12992  -960 /*offsetCode (-14400/15)*/,
12993  0 /*offsetRemainder (-14400%15)*/,
12994  60 /*deltaMinutes*/,
12995  1946 /*untilYear*/,
12996  8 /*untilMonth*/,
12997  28 /*untilDay*/,
12998  5760 /*untilTimeCode (86400/15)*/,
12999  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13000  },
13001  // -5:00 1:00 %z 1947 Mar 31 24:00
13002  {
13003  nullptr /*zonePolicy*/,
13004  "" /*format*/,
13005  -1200 /*offsetCode (-18000/15)*/,
13006  0 /*offsetRemainder (-18000%15)*/,
13007  60 /*deltaMinutes*/,
13008  1947 /*untilYear*/,
13009  3 /*untilMonth*/,
13010  31 /*untilDay*/,
13011  5760 /*untilTimeCode (86400/15)*/,
13012  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13013  },
13014  // -5:00 - %z 1947 May 21 23:00
13015  {
13016  nullptr /*zonePolicy*/,
13017  "" /*format*/,
13018  -1200 /*offsetCode (-18000/15)*/,
13019  0 /*offsetRemainder (-18000%15)*/,
13020  0 /*deltaMinutes*/,
13021  1947 /*untilYear*/,
13022  5 /*untilMonth*/,
13023  21 /*untilDay*/,
13024  5520 /*untilTimeCode (82800/15)*/,
13025  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13026  },
13027  // -4:00 Chile %z
13028  {
13029  &kZonePolicyChile /*zonePolicy*/,
13030  "" /*format*/,
13031  -960 /*offsetCode (-14400/15)*/,
13032  0 /*offsetRemainder (-14400%15)*/,
13033  0 /*deltaMinutes*/,
13034  32767 /*untilYear*/,
13035  1 /*untilMonth*/,
13036  1 /*untilDay*/,
13037  0 /*untilTimeCode (0/15)*/,
13038  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13039  },
13040 
13041 };
13042 
13043 static const char kZoneNameAmerica_Santiago[] ACE_TIME_PROGMEM = "\x02" "Santiago";
13044 
13045 const complete::ZoneInfo kZoneAmerica_Santiago ACE_TIME_PROGMEM = {
13046  kZoneNameAmerica_Santiago /*name*/,
13047  0x7410c9bc /*zoneId*/,
13048  &kZoneContext /*zoneContext*/,
13049  14 /*numEras*/,
13050  kZoneEraAmerica_Santiago /*eras*/,
13051  nullptr /*targetInfo*/,
13052 };
13053 
13054 //---------------------------------------------------------------------------
13055 // Zone name: America/Santo_Domingo
13056 // Eras: 6
13057 //---------------------------------------------------------------------------
13058 
13059 static const complete::ZoneEra kZoneEraAmerica_Santo_Domingo[] ACE_TIME_PROGMEM = {
13060  // -4:39:36 - LMT 1890
13061  {
13062  nullptr /*zonePolicy*/,
13063  "LMT" /*format*/,
13064  -1119 /*offsetCode (-16776/15)*/,
13065  9 /*offsetRemainder (-16776%15)*/,
13066  0 /*deltaMinutes*/,
13067  1890 /*untilYear*/,
13068  1 /*untilMonth*/,
13069  1 /*untilDay*/,
13070  0 /*untilTimeCode (0/15)*/,
13071  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13072  },
13073  // -4:40 - SDMT 1933 Apr 1 12:00
13074  {
13075  nullptr /*zonePolicy*/,
13076  "SDMT" /*format*/,
13077  -1120 /*offsetCode (-16800/15)*/,
13078  0 /*offsetRemainder (-16800%15)*/,
13079  0 /*deltaMinutes*/,
13080  1933 /*untilYear*/,
13081  4 /*untilMonth*/,
13082  1 /*untilDay*/,
13083  2880 /*untilTimeCode (43200/15)*/,
13084  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13085  },
13086  // -5:00 DR %s 1974 Oct 27
13087  {
13088  &kZonePolicyDR /*zonePolicy*/,
13089  "%" /*format*/,
13090  -1200 /*offsetCode (-18000/15)*/,
13091  0 /*offsetRemainder (-18000%15)*/,
13092  0 /*deltaMinutes*/,
13093  1974 /*untilYear*/,
13094  10 /*untilMonth*/,
13095  27 /*untilDay*/,
13096  0 /*untilTimeCode (0/15)*/,
13097  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13098  },
13099  // -4:00 - AST 2000 Oct 29 2:00
13100  {
13101  nullptr /*zonePolicy*/,
13102  "AST" /*format*/,
13103  -960 /*offsetCode (-14400/15)*/,
13104  0 /*offsetRemainder (-14400%15)*/,
13105  0 /*deltaMinutes*/,
13106  2000 /*untilYear*/,
13107  10 /*untilMonth*/,
13108  29 /*untilDay*/,
13109  480 /*untilTimeCode (7200/15)*/,
13110  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13111  },
13112  // -5:00 US E%sT 2000 Dec 3 1:00
13113  {
13114  &kZonePolicyUS /*zonePolicy*/,
13115  "E%T" /*format*/,
13116  -1200 /*offsetCode (-18000/15)*/,
13117  0 /*offsetRemainder (-18000%15)*/,
13118  0 /*deltaMinutes*/,
13119  2000 /*untilYear*/,
13120  12 /*untilMonth*/,
13121  3 /*untilDay*/,
13122  240 /*untilTimeCode (3600/15)*/,
13123  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13124  },
13125  // -4:00 - AST
13126  {
13127  nullptr /*zonePolicy*/,
13128  "AST" /*format*/,
13129  -960 /*offsetCode (-14400/15)*/,
13130  0 /*offsetRemainder (-14400%15)*/,
13131  0 /*deltaMinutes*/,
13132  32767 /*untilYear*/,
13133  1 /*untilMonth*/,
13134  1 /*untilDay*/,
13135  0 /*untilTimeCode (0/15)*/,
13136  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13137  },
13138 
13139 };
13140 
13141 static const char kZoneNameAmerica_Santo_Domingo[] ACE_TIME_PROGMEM = "\x02" "Santo_Domingo";
13142 
13143 const complete::ZoneInfo kZoneAmerica_Santo_Domingo ACE_TIME_PROGMEM = {
13144  kZoneNameAmerica_Santo_Domingo /*name*/,
13145  0x75a0d177 /*zoneId*/,
13146  &kZoneContext /*zoneContext*/,
13147  6 /*numEras*/,
13148  kZoneEraAmerica_Santo_Domingo /*eras*/,
13149  nullptr /*targetInfo*/,
13150 };
13151 
13152 //---------------------------------------------------------------------------
13153 // Zone name: America/Sao_Paulo
13154 // Eras: 4
13155 //---------------------------------------------------------------------------
13156 
13157 static const complete::ZoneEra kZoneEraAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = {
13158  // -3:06:28 - LMT 1914
13159  {
13160  nullptr /*zonePolicy*/,
13161  "LMT" /*format*/,
13162  -746 /*offsetCode (-11188/15)*/,
13163  2 /*offsetRemainder (-11188%15)*/,
13164  0 /*deltaMinutes*/,
13165  1914 /*untilYear*/,
13166  1 /*untilMonth*/,
13167  1 /*untilDay*/,
13168  0 /*untilTimeCode (0/15)*/,
13169  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13170  },
13171  // -3:00 Brazil %z 1963 Oct 23 0:00
13172  {
13173  &kZonePolicyBrazil /*zonePolicy*/,
13174  "" /*format*/,
13175  -720 /*offsetCode (-10800/15)*/,
13176  0 /*offsetRemainder (-10800%15)*/,
13177  0 /*deltaMinutes*/,
13178  1963 /*untilYear*/,
13179  10 /*untilMonth*/,
13180  23 /*untilDay*/,
13181  0 /*untilTimeCode (0/15)*/,
13182  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13183  },
13184  // -3:00 1:00 %z 1964
13185  {
13186  nullptr /*zonePolicy*/,
13187  "" /*format*/,
13188  -720 /*offsetCode (-10800/15)*/,
13189  0 /*offsetRemainder (-10800%15)*/,
13190  60 /*deltaMinutes*/,
13191  1964 /*untilYear*/,
13192  1 /*untilMonth*/,
13193  1 /*untilDay*/,
13194  0 /*untilTimeCode (0/15)*/,
13195  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13196  },
13197  // -3:00 Brazil %z
13198  {
13199  &kZonePolicyBrazil /*zonePolicy*/,
13200  "" /*format*/,
13201  -720 /*offsetCode (-10800/15)*/,
13202  0 /*offsetRemainder (-10800%15)*/,
13203  0 /*deltaMinutes*/,
13204  32767 /*untilYear*/,
13205  1 /*untilMonth*/,
13206  1 /*untilDay*/,
13207  0 /*untilTimeCode (0/15)*/,
13208  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13209  },
13210 
13211 };
13212 
13213 static const char kZoneNameAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = "\x02" "Sao_Paulo";
13214 
13215 const complete::ZoneInfo kZoneAmerica_Sao_Paulo ACE_TIME_PROGMEM = {
13216  kZoneNameAmerica_Sao_Paulo /*name*/,
13217  0x1063bfc9 /*zoneId*/,
13218  &kZoneContext /*zoneContext*/,
13219  4 /*numEras*/,
13220  kZoneEraAmerica_Sao_Paulo /*eras*/,
13221  nullptr /*targetInfo*/,
13222 };
13223 
13224 //---------------------------------------------------------------------------
13225 // Zone name: America/Scoresbysund
13226 // Eras: 5
13227 //---------------------------------------------------------------------------
13228 
13229 static const complete::ZoneEra kZoneEraAmerica_Scoresbysund[] ACE_TIME_PROGMEM = {
13230  // -1:27:52 - LMT 1916 Jul 28
13231  {
13232  nullptr /*zonePolicy*/,
13233  "LMT" /*format*/,
13234  -352 /*offsetCode (-5272/15)*/,
13235  8 /*offsetRemainder (-5272%15)*/,
13236  0 /*deltaMinutes*/,
13237  1916 /*untilYear*/,
13238  7 /*untilMonth*/,
13239  28 /*untilDay*/,
13240  0 /*untilTimeCode (0/15)*/,
13241  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13242  },
13243  // -2:00 - %z 1980 Apr 6 2:00
13244  {
13245  nullptr /*zonePolicy*/,
13246  "" /*format*/,
13247  -480 /*offsetCode (-7200/15)*/,
13248  0 /*offsetRemainder (-7200%15)*/,
13249  0 /*deltaMinutes*/,
13250  1980 /*untilYear*/,
13251  4 /*untilMonth*/,
13252  6 /*untilDay*/,
13253  480 /*untilTimeCode (7200/15)*/,
13254  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13255  },
13256  // -2:00 C-Eur %z 1981 Mar 29
13257  {
13258  &kZonePolicyC_Eur /*zonePolicy*/,
13259  "" /*format*/,
13260  -480 /*offsetCode (-7200/15)*/,
13261  0 /*offsetRemainder (-7200%15)*/,
13262  0 /*deltaMinutes*/,
13263  1981 /*untilYear*/,
13264  3 /*untilMonth*/,
13265  29 /*untilDay*/,
13266  0 /*untilTimeCode (0/15)*/,
13267  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13268  },
13269  // -1:00 EU %z 2024 Mar 31
13270  {
13271  &kZonePolicyEU /*zonePolicy*/,
13272  "" /*format*/,
13273  -240 /*offsetCode (-3600/15)*/,
13274  0 /*offsetRemainder (-3600%15)*/,
13275  0 /*deltaMinutes*/,
13276  2024 /*untilYear*/,
13277  3 /*untilMonth*/,
13278  31 /*untilDay*/,
13279  0 /*untilTimeCode (0/15)*/,
13280  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13281  },
13282  // -2:00 EU %z
13283  {
13284  &kZonePolicyEU /*zonePolicy*/,
13285  "" /*format*/,
13286  -480 /*offsetCode (-7200/15)*/,
13287  0 /*offsetRemainder (-7200%15)*/,
13288  0 /*deltaMinutes*/,
13289  32767 /*untilYear*/,
13290  1 /*untilMonth*/,
13291  1 /*untilDay*/,
13292  0 /*untilTimeCode (0/15)*/,
13293  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13294  },
13295 
13296 };
13297 
13298 static const char kZoneNameAmerica_Scoresbysund[] ACE_TIME_PROGMEM = "\x02" "Scoresbysund";
13299 
13300 const complete::ZoneInfo kZoneAmerica_Scoresbysund ACE_TIME_PROGMEM = {
13301  kZoneNameAmerica_Scoresbysund /*name*/,
13302  0x123f8d2a /*zoneId*/,
13303  &kZoneContext /*zoneContext*/,
13304  5 /*numEras*/,
13305  kZoneEraAmerica_Scoresbysund /*eras*/,
13306  nullptr /*targetInfo*/,
13307 };
13308 
13309 //---------------------------------------------------------------------------
13310 // Zone name: America/Sitka
13311 // Eras: 8
13312 //---------------------------------------------------------------------------
13313 
13314 static const complete::ZoneEra kZoneEraAmerica_Sitka[] ACE_TIME_PROGMEM = {
13315  // 14:58:47 - LMT 1867 Oct 19 15:30
13316  {
13317  nullptr /*zonePolicy*/,
13318  "LMT" /*format*/,
13319  3595 /*offsetCode (53927/15)*/,
13320  2 /*offsetRemainder (53927%15)*/,
13321  0 /*deltaMinutes*/,
13322  1867 /*untilYear*/,
13323  10 /*untilMonth*/,
13324  19 /*untilDay*/,
13325  3720 /*untilTimeCode (55800/15)*/,
13326  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13327  },
13328  // -9:01:13 - LMT 1900 Aug 20 12:00
13329  {
13330  nullptr /*zonePolicy*/,
13331  "LMT" /*format*/,
13332  -2165 /*offsetCode (-32473/15)*/,
13333  2 /*offsetRemainder (-32473%15)*/,
13334  0 /*deltaMinutes*/,
13335  1900 /*untilYear*/,
13336  8 /*untilMonth*/,
13337  20 /*untilDay*/,
13338  2880 /*untilTimeCode (43200/15)*/,
13339  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13340  },
13341  // -8:00 - PST 1942
13342  {
13343  nullptr /*zonePolicy*/,
13344  "PST" /*format*/,
13345  -1920 /*offsetCode (-28800/15)*/,
13346  0 /*offsetRemainder (-28800%15)*/,
13347  0 /*deltaMinutes*/,
13348  1942 /*untilYear*/,
13349  1 /*untilMonth*/,
13350  1 /*untilDay*/,
13351  0 /*untilTimeCode (0/15)*/,
13352  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13353  },
13354  // -8:00 US P%sT 1946
13355  {
13356  &kZonePolicyUS /*zonePolicy*/,
13357  "P%T" /*format*/,
13358  -1920 /*offsetCode (-28800/15)*/,
13359  0 /*offsetRemainder (-28800%15)*/,
13360  0 /*deltaMinutes*/,
13361  1946 /*untilYear*/,
13362  1 /*untilMonth*/,
13363  1 /*untilDay*/,
13364  0 /*untilTimeCode (0/15)*/,
13365  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13366  },
13367  // -8:00 - PST 1969
13368  {
13369  nullptr /*zonePolicy*/,
13370  "PST" /*format*/,
13371  -1920 /*offsetCode (-28800/15)*/,
13372  0 /*offsetRemainder (-28800%15)*/,
13373  0 /*deltaMinutes*/,
13374  1969 /*untilYear*/,
13375  1 /*untilMonth*/,
13376  1 /*untilDay*/,
13377  0 /*untilTimeCode (0/15)*/,
13378  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13379  },
13380  // -8:00 US P%sT 1983 Oct 30 2:00
13381  {
13382  &kZonePolicyUS /*zonePolicy*/,
13383  "P%T" /*format*/,
13384  -1920 /*offsetCode (-28800/15)*/,
13385  0 /*offsetRemainder (-28800%15)*/,
13386  0 /*deltaMinutes*/,
13387  1983 /*untilYear*/,
13388  10 /*untilMonth*/,
13389  30 /*untilDay*/,
13390  480 /*untilTimeCode (7200/15)*/,
13391  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13392  },
13393  // -9:00 US Y%sT 1983 Nov 30
13394  {
13395  &kZonePolicyUS /*zonePolicy*/,
13396  "Y%T" /*format*/,
13397  -2160 /*offsetCode (-32400/15)*/,
13398  0 /*offsetRemainder (-32400%15)*/,
13399  0 /*deltaMinutes*/,
13400  1983 /*untilYear*/,
13401  11 /*untilMonth*/,
13402  30 /*untilDay*/,
13403  0 /*untilTimeCode (0/15)*/,
13404  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13405  },
13406  // -9:00 US AK%sT
13407  {
13408  &kZonePolicyUS /*zonePolicy*/,
13409  "AK%T" /*format*/,
13410  -2160 /*offsetCode (-32400/15)*/,
13411  0 /*offsetRemainder (-32400%15)*/,
13412  0 /*deltaMinutes*/,
13413  32767 /*untilYear*/,
13414  1 /*untilMonth*/,
13415  1 /*untilDay*/,
13416  0 /*untilTimeCode (0/15)*/,
13417  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13418  },
13419 
13420 };
13421 
13422 static const char kZoneNameAmerica_Sitka[] ACE_TIME_PROGMEM = "\x02" "Sitka";
13423 
13424 const complete::ZoneInfo kZoneAmerica_Sitka ACE_TIME_PROGMEM = {
13425  kZoneNameAmerica_Sitka /*name*/,
13426  0x99104ce2 /*zoneId*/,
13427  &kZoneContext /*zoneContext*/,
13428  8 /*numEras*/,
13429  kZoneEraAmerica_Sitka /*eras*/,
13430  nullptr /*targetInfo*/,
13431 };
13432 
13433 //---------------------------------------------------------------------------
13434 // Zone name: America/St_Johns
13435 // Eras: 8
13436 //---------------------------------------------------------------------------
13437 
13438 static const complete::ZoneEra kZoneEraAmerica_St_Johns[] ACE_TIME_PROGMEM = {
13439  // -3:30:52 - LMT 1884
13440  {
13441  nullptr /*zonePolicy*/,
13442  "LMT" /*format*/,
13443  -844 /*offsetCode (-12652/15)*/,
13444  8 /*offsetRemainder (-12652%15)*/,
13445  0 /*deltaMinutes*/,
13446  1884 /*untilYear*/,
13447  1 /*untilMonth*/,
13448  1 /*untilDay*/,
13449  0 /*untilTimeCode (0/15)*/,
13450  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13451  },
13452  // -3:30:52 StJohns N%sT 1918
13453  {
13454  &kZonePolicyStJohns /*zonePolicy*/,
13455  "N%T" /*format*/,
13456  -844 /*offsetCode (-12652/15)*/,
13457  8 /*offsetRemainder (-12652%15)*/,
13458  0 /*deltaMinutes*/,
13459  1918 /*untilYear*/,
13460  1 /*untilMonth*/,
13461  1 /*untilDay*/,
13462  0 /*untilTimeCode (0/15)*/,
13463  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13464  },
13465  // -3:30:52 Canada N%sT 1919
13466  {
13467  &kZonePolicyCanada /*zonePolicy*/,
13468  "N%T" /*format*/,
13469  -844 /*offsetCode (-12652/15)*/,
13470  8 /*offsetRemainder (-12652%15)*/,
13471  0 /*deltaMinutes*/,
13472  1919 /*untilYear*/,
13473  1 /*untilMonth*/,
13474  1 /*untilDay*/,
13475  0 /*untilTimeCode (0/15)*/,
13476  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13477  },
13478  // -3:30:52 StJohns N%sT 1935 Mar 30
13479  {
13480  &kZonePolicyStJohns /*zonePolicy*/,
13481  "N%T" /*format*/,
13482  -844 /*offsetCode (-12652/15)*/,
13483  8 /*offsetRemainder (-12652%15)*/,
13484  0 /*deltaMinutes*/,
13485  1935 /*untilYear*/,
13486  3 /*untilMonth*/,
13487  30 /*untilDay*/,
13488  0 /*untilTimeCode (0/15)*/,
13489  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13490  },
13491  // -3:30 StJohns N%sT 1942 May 11
13492  {
13493  &kZonePolicyStJohns /*zonePolicy*/,
13494  "N%T" /*format*/,
13495  -840 /*offsetCode (-12600/15)*/,
13496  0 /*offsetRemainder (-12600%15)*/,
13497  0 /*deltaMinutes*/,
13498  1942 /*untilYear*/,
13499  5 /*untilMonth*/,
13500  11 /*untilDay*/,
13501  0 /*untilTimeCode (0/15)*/,
13502  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13503  },
13504  // -3:30 Canada N%sT 1946
13505  {
13506  &kZonePolicyCanada /*zonePolicy*/,
13507  "N%T" /*format*/,
13508  -840 /*offsetCode (-12600/15)*/,
13509  0 /*offsetRemainder (-12600%15)*/,
13510  0 /*deltaMinutes*/,
13511  1946 /*untilYear*/,
13512  1 /*untilMonth*/,
13513  1 /*untilDay*/,
13514  0 /*untilTimeCode (0/15)*/,
13515  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13516  },
13517  // -3:30 StJohns N%sT 2011 Nov
13518  {
13519  &kZonePolicyStJohns /*zonePolicy*/,
13520  "N%T" /*format*/,
13521  -840 /*offsetCode (-12600/15)*/,
13522  0 /*offsetRemainder (-12600%15)*/,
13523  0 /*deltaMinutes*/,
13524  2011 /*untilYear*/,
13525  11 /*untilMonth*/,
13526  1 /*untilDay*/,
13527  0 /*untilTimeCode (0/15)*/,
13528  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13529  },
13530  // -3:30 Canada N%sT
13531  {
13532  &kZonePolicyCanada /*zonePolicy*/,
13533  "N%T" /*format*/,
13534  -840 /*offsetCode (-12600/15)*/,
13535  0 /*offsetRemainder (-12600%15)*/,
13536  0 /*deltaMinutes*/,
13537  32767 /*untilYear*/,
13538  1 /*untilMonth*/,
13539  1 /*untilDay*/,
13540  0 /*untilTimeCode (0/15)*/,
13541  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13542  },
13543 
13544 };
13545 
13546 static const char kZoneNameAmerica_St_Johns[] ACE_TIME_PROGMEM = "\x02" "St_Johns";
13547 
13548 const complete::ZoneInfo kZoneAmerica_St_Johns ACE_TIME_PROGMEM = {
13549  kZoneNameAmerica_St_Johns /*name*/,
13550  0x04b14e6e /*zoneId*/,
13551  &kZoneContext /*zoneContext*/,
13552  8 /*numEras*/,
13553  kZoneEraAmerica_St_Johns /*eras*/,
13554  nullptr /*targetInfo*/,
13555 };
13556 
13557 //---------------------------------------------------------------------------
13558 // Zone name: America/Swift_Current
13559 // Eras: 5
13560 //---------------------------------------------------------------------------
13561 
13562 static const complete::ZoneEra kZoneEraAmerica_Swift_Current[] ACE_TIME_PROGMEM = {
13563  // -7:11:20 - LMT 1905 Sep
13564  {
13565  nullptr /*zonePolicy*/,
13566  "LMT" /*format*/,
13567  -1726 /*offsetCode (-25880/15)*/,
13568  10 /*offsetRemainder (-25880%15)*/,
13569  0 /*deltaMinutes*/,
13570  1905 /*untilYear*/,
13571  9 /*untilMonth*/,
13572  1 /*untilDay*/,
13573  0 /*untilTimeCode (0/15)*/,
13574  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13575  },
13576  // -7:00 Canada M%sT 1946 Apr lastSun 2:00
13577  {
13578  &kZonePolicyCanada /*zonePolicy*/,
13579  "M%T" /*format*/,
13580  -1680 /*offsetCode (-25200/15)*/,
13581  0 /*offsetRemainder (-25200%15)*/,
13582  0 /*deltaMinutes*/,
13583  1946 /*untilYear*/,
13584  4 /*untilMonth*/,
13585  28 /*untilDay*/,
13586  480 /*untilTimeCode (7200/15)*/,
13587  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13588  },
13589  // -7:00 Regina M%sT 1950
13590  {
13591  &kZonePolicyRegina /*zonePolicy*/,
13592  "M%T" /*format*/,
13593  -1680 /*offsetCode (-25200/15)*/,
13594  0 /*offsetRemainder (-25200%15)*/,
13595  0 /*deltaMinutes*/,
13596  1950 /*untilYear*/,
13597  1 /*untilMonth*/,
13598  1 /*untilDay*/,
13599  0 /*untilTimeCode (0/15)*/,
13600  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13601  },
13602  // -7:00 Swift M%sT 1972 Apr lastSun 2:00
13603  {
13604  &kZonePolicySwift /*zonePolicy*/,
13605  "M%T" /*format*/,
13606  -1680 /*offsetCode (-25200/15)*/,
13607  0 /*offsetRemainder (-25200%15)*/,
13608  0 /*deltaMinutes*/,
13609  1972 /*untilYear*/,
13610  4 /*untilMonth*/,
13611  30 /*untilDay*/,
13612  480 /*untilTimeCode (7200/15)*/,
13613  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13614  },
13615  // -6:00 - CST
13616  {
13617  nullptr /*zonePolicy*/,
13618  "CST" /*format*/,
13619  -1440 /*offsetCode (-21600/15)*/,
13620  0 /*offsetRemainder (-21600%15)*/,
13621  0 /*deltaMinutes*/,
13622  32767 /*untilYear*/,
13623  1 /*untilMonth*/,
13624  1 /*untilDay*/,
13625  0 /*untilTimeCode (0/15)*/,
13626  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13627  },
13628 
13629 };
13630 
13631 static const char kZoneNameAmerica_Swift_Current[] ACE_TIME_PROGMEM = "\x02" "Swift_Current";
13632 
13633 const complete::ZoneInfo kZoneAmerica_Swift_Current ACE_TIME_PROGMEM = {
13634  kZoneNameAmerica_Swift_Current /*name*/,
13635  0xdef98e55 /*zoneId*/,
13636  &kZoneContext /*zoneContext*/,
13637  5 /*numEras*/,
13638  kZoneEraAmerica_Swift_Current /*eras*/,
13639  nullptr /*targetInfo*/,
13640 };
13641 
13642 //---------------------------------------------------------------------------
13643 // Zone name: America/Tegucigalpa
13644 // Eras: 2
13645 //---------------------------------------------------------------------------
13646 
13647 static const complete::ZoneEra kZoneEraAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = {
13648  // -5:48:52 - LMT 1921 Apr
13649  {
13650  nullptr /*zonePolicy*/,
13651  "LMT" /*format*/,
13652  -1396 /*offsetCode (-20932/15)*/,
13653  8 /*offsetRemainder (-20932%15)*/,
13654  0 /*deltaMinutes*/,
13655  1921 /*untilYear*/,
13656  4 /*untilMonth*/,
13657  1 /*untilDay*/,
13658  0 /*untilTimeCode (0/15)*/,
13659  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13660  },
13661  // -6:00 Hond C%sT
13662  {
13663  &kZonePolicyHond /*zonePolicy*/,
13664  "C%T" /*format*/,
13665  -1440 /*offsetCode (-21600/15)*/,
13666  0 /*offsetRemainder (-21600%15)*/,
13667  0 /*deltaMinutes*/,
13668  32767 /*untilYear*/,
13669  1 /*untilMonth*/,
13670  1 /*untilDay*/,
13671  0 /*untilTimeCode (0/15)*/,
13672  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13673  },
13674 
13675 };
13676 
13677 static const char kZoneNameAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = "\x02" "Tegucigalpa";
13678 
13679 const complete::ZoneInfo kZoneAmerica_Tegucigalpa ACE_TIME_PROGMEM = {
13680  kZoneNameAmerica_Tegucigalpa /*name*/,
13681  0xbfd6fd4c /*zoneId*/,
13682  &kZoneContext /*zoneContext*/,
13683  2 /*numEras*/,
13684  kZoneEraAmerica_Tegucigalpa /*eras*/,
13685  nullptr /*targetInfo*/,
13686 };
13687 
13688 //---------------------------------------------------------------------------
13689 // Zone name: America/Thule
13690 // Eras: 2
13691 //---------------------------------------------------------------------------
13692 
13693 static const complete::ZoneEra kZoneEraAmerica_Thule[] ACE_TIME_PROGMEM = {
13694  // -4:35:08 - LMT 1916 Jul 28
13695  {
13696  nullptr /*zonePolicy*/,
13697  "LMT" /*format*/,
13698  -1101 /*offsetCode (-16508/15)*/,
13699  7 /*offsetRemainder (-16508%15)*/,
13700  0 /*deltaMinutes*/,
13701  1916 /*untilYear*/,
13702  7 /*untilMonth*/,
13703  28 /*untilDay*/,
13704  0 /*untilTimeCode (0/15)*/,
13705  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13706  },
13707  // -4:00 Thule A%sT
13708  {
13709  &kZonePolicyThule /*zonePolicy*/,
13710  "A%T" /*format*/,
13711  -960 /*offsetCode (-14400/15)*/,
13712  0 /*offsetRemainder (-14400%15)*/,
13713  0 /*deltaMinutes*/,
13714  32767 /*untilYear*/,
13715  1 /*untilMonth*/,
13716  1 /*untilDay*/,
13717  0 /*untilTimeCode (0/15)*/,
13718  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13719  },
13720 
13721 };
13722 
13723 static const char kZoneNameAmerica_Thule[] ACE_TIME_PROGMEM = "\x02" "Thule";
13724 
13725 const complete::ZoneInfo kZoneAmerica_Thule ACE_TIME_PROGMEM = {
13726  kZoneNameAmerica_Thule /*name*/,
13727  0x9921dd68 /*zoneId*/,
13728  &kZoneContext /*zoneContext*/,
13729  2 /*numEras*/,
13730  kZoneEraAmerica_Thule /*eras*/,
13731  nullptr /*targetInfo*/,
13732 };
13733 
13734 //---------------------------------------------------------------------------
13735 // Zone name: America/Tijuana
13736 // Eras: 25
13737 //---------------------------------------------------------------------------
13738 
13739 static const complete::ZoneEra kZoneEraAmerica_Tijuana[] ACE_TIME_PROGMEM = {
13740  // -7:48:04 - LMT 1922 Jan 1 7:00u
13741  {
13742  nullptr /*zonePolicy*/,
13743  "LMT" /*format*/,
13744  -1873 /*offsetCode (-28084/15)*/,
13745  11 /*offsetRemainder (-28084%15)*/,
13746  0 /*deltaMinutes*/,
13747  1922 /*untilYear*/,
13748  1 /*untilMonth*/,
13749  1 /*untilDay*/,
13750  1680 /*untilTimeCode (25200/15)*/,
13751  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
13752  },
13753  // -7:00 - MST 1924
13754  {
13755  nullptr /*zonePolicy*/,
13756  "MST" /*format*/,
13757  -1680 /*offsetCode (-25200/15)*/,
13758  0 /*offsetRemainder (-25200%15)*/,
13759  0 /*deltaMinutes*/,
13760  1924 /*untilYear*/,
13761  1 /*untilMonth*/,
13762  1 /*untilDay*/,
13763  0 /*untilTimeCode (0/15)*/,
13764  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13765  },
13766  // -8:00 - PST 1927 Jun 10
13767  {
13768  nullptr /*zonePolicy*/,
13769  "PST" /*format*/,
13770  -1920 /*offsetCode (-28800/15)*/,
13771  0 /*offsetRemainder (-28800%15)*/,
13772  0 /*deltaMinutes*/,
13773  1927 /*untilYear*/,
13774  6 /*untilMonth*/,
13775  10 /*untilDay*/,
13776  0 /*untilTimeCode (0/15)*/,
13777  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13778  },
13779  // -7:00 - MST 1930 Nov 15
13780  {
13781  nullptr /*zonePolicy*/,
13782  "MST" /*format*/,
13783  -1680 /*offsetCode (-25200/15)*/,
13784  0 /*offsetRemainder (-25200%15)*/,
13785  0 /*deltaMinutes*/,
13786  1930 /*untilYear*/,
13787  11 /*untilMonth*/,
13788  15 /*untilDay*/,
13789  0 /*untilTimeCode (0/15)*/,
13790  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13791  },
13792  // -8:00 - PST 1931 Apr 1
13793  {
13794  nullptr /*zonePolicy*/,
13795  "PST" /*format*/,
13796  -1920 /*offsetCode (-28800/15)*/,
13797  0 /*offsetRemainder (-28800%15)*/,
13798  0 /*deltaMinutes*/,
13799  1931 /*untilYear*/,
13800  4 /*untilMonth*/,
13801  1 /*untilDay*/,
13802  0 /*untilTimeCode (0/15)*/,
13803  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13804  },
13805  // -8:00 1:00 PDT 1931 Sep 30
13806  {
13807  nullptr /*zonePolicy*/,
13808  "PDT" /*format*/,
13809  -1920 /*offsetCode (-28800/15)*/,
13810  0 /*offsetRemainder (-28800%15)*/,
13811  60 /*deltaMinutes*/,
13812  1931 /*untilYear*/,
13813  9 /*untilMonth*/,
13814  30 /*untilDay*/,
13815  0 /*untilTimeCode (0/15)*/,
13816  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13817  },
13818  // -8:00 - PST 1942 Apr 24
13819  {
13820  nullptr /*zonePolicy*/,
13821  "PST" /*format*/,
13822  -1920 /*offsetCode (-28800/15)*/,
13823  0 /*offsetRemainder (-28800%15)*/,
13824  0 /*deltaMinutes*/,
13825  1942 /*untilYear*/,
13826  4 /*untilMonth*/,
13827  24 /*untilDay*/,
13828  0 /*untilTimeCode (0/15)*/,
13829  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13830  },
13831  // -8:00 1:00 PWT 1945 Aug 14 23:00u
13832  {
13833  nullptr /*zonePolicy*/,
13834  "PWT" /*format*/,
13835  -1920 /*offsetCode (-28800/15)*/,
13836  0 /*offsetRemainder (-28800%15)*/,
13837  60 /*deltaMinutes*/,
13838  1945 /*untilYear*/,
13839  8 /*untilMonth*/,
13840  14 /*untilDay*/,
13841  5520 /*untilTimeCode (82800/15)*/,
13842  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
13843  },
13844  // -8:00 1:00 PPT 1945 Nov 15
13845  {
13846  nullptr /*zonePolicy*/,
13847  "PPT" /*format*/,
13848  -1920 /*offsetCode (-28800/15)*/,
13849  0 /*offsetRemainder (-28800%15)*/,
13850  60 /*deltaMinutes*/,
13851  1945 /*untilYear*/,
13852  11 /*untilMonth*/,
13853  15 /*untilDay*/,
13854  0 /*untilTimeCode (0/15)*/,
13855  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13856  },
13857  // -8:00 - PST 1948 Apr 5
13858  {
13859  nullptr /*zonePolicy*/,
13860  "PST" /*format*/,
13861  -1920 /*offsetCode (-28800/15)*/,
13862  0 /*offsetRemainder (-28800%15)*/,
13863  0 /*deltaMinutes*/,
13864  1948 /*untilYear*/,
13865  4 /*untilMonth*/,
13866  5 /*untilDay*/,
13867  0 /*untilTimeCode (0/15)*/,
13868  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13869  },
13870  // -8:00 1:00 PDT 1949 Jan 14
13871  {
13872  nullptr /*zonePolicy*/,
13873  "PDT" /*format*/,
13874  -1920 /*offsetCode (-28800/15)*/,
13875  0 /*offsetRemainder (-28800%15)*/,
13876  60 /*deltaMinutes*/,
13877  1949 /*untilYear*/,
13878  1 /*untilMonth*/,
13879  14 /*untilDay*/,
13880  0 /*untilTimeCode (0/15)*/,
13881  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13882  },
13883  // -8:00 - PST 1950 May 1
13884  {
13885  nullptr /*zonePolicy*/,
13886  "PST" /*format*/,
13887  -1920 /*offsetCode (-28800/15)*/,
13888  0 /*offsetRemainder (-28800%15)*/,
13889  0 /*deltaMinutes*/,
13890  1950 /*untilYear*/,
13891  5 /*untilMonth*/,
13892  1 /*untilDay*/,
13893  0 /*untilTimeCode (0/15)*/,
13894  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13895  },
13896  // -8:00 1:00 PDT 1950 Sep 24
13897  {
13898  nullptr /*zonePolicy*/,
13899  "PDT" /*format*/,
13900  -1920 /*offsetCode (-28800/15)*/,
13901  0 /*offsetRemainder (-28800%15)*/,
13902  60 /*deltaMinutes*/,
13903  1950 /*untilYear*/,
13904  9 /*untilMonth*/,
13905  24 /*untilDay*/,
13906  0 /*untilTimeCode (0/15)*/,
13907  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13908  },
13909  // -8:00 - PST 1951 Apr 29 2:00
13910  {
13911  nullptr /*zonePolicy*/,
13912  "PST" /*format*/,
13913  -1920 /*offsetCode (-28800/15)*/,
13914  0 /*offsetRemainder (-28800%15)*/,
13915  0 /*deltaMinutes*/,
13916  1951 /*untilYear*/,
13917  4 /*untilMonth*/,
13918  29 /*untilDay*/,
13919  480 /*untilTimeCode (7200/15)*/,
13920  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13921  },
13922  // -8:00 1:00 PDT 1951 Sep 30 2:00
13923  {
13924  nullptr /*zonePolicy*/,
13925  "PDT" /*format*/,
13926  -1920 /*offsetCode (-28800/15)*/,
13927  0 /*offsetRemainder (-28800%15)*/,
13928  60 /*deltaMinutes*/,
13929  1951 /*untilYear*/,
13930  9 /*untilMonth*/,
13931  30 /*untilDay*/,
13932  480 /*untilTimeCode (7200/15)*/,
13933  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13934  },
13935  // -8:00 - PST 1952 Apr 27 2:00
13936  {
13937  nullptr /*zonePolicy*/,
13938  "PST" /*format*/,
13939  -1920 /*offsetCode (-28800/15)*/,
13940  0 /*offsetRemainder (-28800%15)*/,
13941  0 /*deltaMinutes*/,
13942  1952 /*untilYear*/,
13943  4 /*untilMonth*/,
13944  27 /*untilDay*/,
13945  480 /*untilTimeCode (7200/15)*/,
13946  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13947  },
13948  // -8:00 1:00 PDT 1952 Sep 28 2:00
13949  {
13950  nullptr /*zonePolicy*/,
13951  "PDT" /*format*/,
13952  -1920 /*offsetCode (-28800/15)*/,
13953  0 /*offsetRemainder (-28800%15)*/,
13954  60 /*deltaMinutes*/,
13955  1952 /*untilYear*/,
13956  9 /*untilMonth*/,
13957  28 /*untilDay*/,
13958  480 /*untilTimeCode (7200/15)*/,
13959  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13960  },
13961  // -8:00 - PST 1954
13962  {
13963  nullptr /*zonePolicy*/,
13964  "PST" /*format*/,
13965  -1920 /*offsetCode (-28800/15)*/,
13966  0 /*offsetRemainder (-28800%15)*/,
13967  0 /*deltaMinutes*/,
13968  1954 /*untilYear*/,
13969  1 /*untilMonth*/,
13970  1 /*untilDay*/,
13971  0 /*untilTimeCode (0/15)*/,
13972  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13973  },
13974  // -8:00 CA P%sT 1961
13975  {
13976  &kZonePolicyCA /*zonePolicy*/,
13977  "P%T" /*format*/,
13978  -1920 /*offsetCode (-28800/15)*/,
13979  0 /*offsetRemainder (-28800%15)*/,
13980  0 /*deltaMinutes*/,
13981  1961 /*untilYear*/,
13982  1 /*untilMonth*/,
13983  1 /*untilDay*/,
13984  0 /*untilTimeCode (0/15)*/,
13985  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13986  },
13987  // -8:00 - PST 1976
13988  {
13989  nullptr /*zonePolicy*/,
13990  "PST" /*format*/,
13991  -1920 /*offsetCode (-28800/15)*/,
13992  0 /*offsetRemainder (-28800%15)*/,
13993  0 /*deltaMinutes*/,
13994  1976 /*untilYear*/,
13995  1 /*untilMonth*/,
13996  1 /*untilDay*/,
13997  0 /*untilTimeCode (0/15)*/,
13998  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
13999  },
14000  // -8:00 US P%sT 1996
14001  {
14002  &kZonePolicyUS /*zonePolicy*/,
14003  "P%T" /*format*/,
14004  -1920 /*offsetCode (-28800/15)*/,
14005  0 /*offsetRemainder (-28800%15)*/,
14006  0 /*deltaMinutes*/,
14007  1996 /*untilYear*/,
14008  1 /*untilMonth*/,
14009  1 /*untilDay*/,
14010  0 /*untilTimeCode (0/15)*/,
14011  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14012  },
14013  // -8:00 Mexico P%sT 2001
14014  {
14015  &kZonePolicyMexico /*zonePolicy*/,
14016  "P%T" /*format*/,
14017  -1920 /*offsetCode (-28800/15)*/,
14018  0 /*offsetRemainder (-28800%15)*/,
14019  0 /*deltaMinutes*/,
14020  2001 /*untilYear*/,
14021  1 /*untilMonth*/,
14022  1 /*untilDay*/,
14023  0 /*untilTimeCode (0/15)*/,
14024  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14025  },
14026  // -8:00 US P%sT 2002 Feb 20
14027  {
14028  &kZonePolicyUS /*zonePolicy*/,
14029  "P%T" /*format*/,
14030  -1920 /*offsetCode (-28800/15)*/,
14031  0 /*offsetRemainder (-28800%15)*/,
14032  0 /*deltaMinutes*/,
14033  2002 /*untilYear*/,
14034  2 /*untilMonth*/,
14035  20 /*untilDay*/,
14036  0 /*untilTimeCode (0/15)*/,
14037  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14038  },
14039  // -8:00 Mexico P%sT 2010
14040  {
14041  &kZonePolicyMexico /*zonePolicy*/,
14042  "P%T" /*format*/,
14043  -1920 /*offsetCode (-28800/15)*/,
14044  0 /*offsetRemainder (-28800%15)*/,
14045  0 /*deltaMinutes*/,
14046  2010 /*untilYear*/,
14047  1 /*untilMonth*/,
14048  1 /*untilDay*/,
14049  0 /*untilTimeCode (0/15)*/,
14050  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14051  },
14052  // -8:00 US P%sT
14053  {
14054  &kZonePolicyUS /*zonePolicy*/,
14055  "P%T" /*format*/,
14056  -1920 /*offsetCode (-28800/15)*/,
14057  0 /*offsetRemainder (-28800%15)*/,
14058  0 /*deltaMinutes*/,
14059  32767 /*untilYear*/,
14060  1 /*untilMonth*/,
14061  1 /*untilDay*/,
14062  0 /*untilTimeCode (0/15)*/,
14063  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14064  },
14065 
14066 };
14067 
14068 static const char kZoneNameAmerica_Tijuana[] ACE_TIME_PROGMEM = "\x02" "Tijuana";
14069 
14070 const complete::ZoneInfo kZoneAmerica_Tijuana ACE_TIME_PROGMEM = {
14071  kZoneNameAmerica_Tijuana /*name*/,
14072  0x6aa1df72 /*zoneId*/,
14073  &kZoneContext /*zoneContext*/,
14074  25 /*numEras*/,
14075  kZoneEraAmerica_Tijuana /*eras*/,
14076  nullptr /*targetInfo*/,
14077 };
14078 
14079 //---------------------------------------------------------------------------
14080 // Zone name: America/Toronto
14081 // Eras: 6
14082 //---------------------------------------------------------------------------
14083 
14084 static const complete::ZoneEra kZoneEraAmerica_Toronto[] ACE_TIME_PROGMEM = {
14085  // -5:17:32 - LMT 1895
14086  {
14087  nullptr /*zonePolicy*/,
14088  "LMT" /*format*/,
14089  -1271 /*offsetCode (-19052/15)*/,
14090  13 /*offsetRemainder (-19052%15)*/,
14091  0 /*deltaMinutes*/,
14092  1895 /*untilYear*/,
14093  1 /*untilMonth*/,
14094  1 /*untilDay*/,
14095  0 /*untilTimeCode (0/15)*/,
14096  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14097  },
14098  // -5:00 Canada E%sT 1919
14099  {
14100  &kZonePolicyCanada /*zonePolicy*/,
14101  "E%T" /*format*/,
14102  -1200 /*offsetCode (-18000/15)*/,
14103  0 /*offsetRemainder (-18000%15)*/,
14104  0 /*deltaMinutes*/,
14105  1919 /*untilYear*/,
14106  1 /*untilMonth*/,
14107  1 /*untilDay*/,
14108  0 /*untilTimeCode (0/15)*/,
14109  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14110  },
14111  // -5:00 Toronto E%sT 1942 Feb 9 2:00s
14112  {
14113  &kZonePolicyToronto /*zonePolicy*/,
14114  "E%T" /*format*/,
14115  -1200 /*offsetCode (-18000/15)*/,
14116  0 /*offsetRemainder (-18000%15)*/,
14117  0 /*deltaMinutes*/,
14118  1942 /*untilYear*/,
14119  2 /*untilMonth*/,
14120  9 /*untilDay*/,
14121  480 /*untilTimeCode (7200/15)*/,
14122  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
14123  },
14124  // -5:00 Canada E%sT 1946
14125  {
14126  &kZonePolicyCanada /*zonePolicy*/,
14127  "E%T" /*format*/,
14128  -1200 /*offsetCode (-18000/15)*/,
14129  0 /*offsetRemainder (-18000%15)*/,
14130  0 /*deltaMinutes*/,
14131  1946 /*untilYear*/,
14132  1 /*untilMonth*/,
14133  1 /*untilDay*/,
14134  0 /*untilTimeCode (0/15)*/,
14135  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14136  },
14137  // -5:00 Toronto E%sT 1974
14138  {
14139  &kZonePolicyToronto /*zonePolicy*/,
14140  "E%T" /*format*/,
14141  -1200 /*offsetCode (-18000/15)*/,
14142  0 /*offsetRemainder (-18000%15)*/,
14143  0 /*deltaMinutes*/,
14144  1974 /*untilYear*/,
14145  1 /*untilMonth*/,
14146  1 /*untilDay*/,
14147  0 /*untilTimeCode (0/15)*/,
14148  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14149  },
14150  // -5:00 Canada E%sT
14151  {
14152  &kZonePolicyCanada /*zonePolicy*/,
14153  "E%T" /*format*/,
14154  -1200 /*offsetCode (-18000/15)*/,
14155  0 /*offsetRemainder (-18000%15)*/,
14156  0 /*deltaMinutes*/,
14157  32767 /*untilYear*/,
14158  1 /*untilMonth*/,
14159  1 /*untilDay*/,
14160  0 /*untilTimeCode (0/15)*/,
14161  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14162  },
14163 
14164 };
14165 
14166 static const char kZoneNameAmerica_Toronto[] ACE_TIME_PROGMEM = "\x02" "Toronto";
14167 
14168 const complete::ZoneInfo kZoneAmerica_Toronto ACE_TIME_PROGMEM = {
14169  kZoneNameAmerica_Toronto /*name*/,
14170  0x792e851b /*zoneId*/,
14171  &kZoneContext /*zoneContext*/,
14172  6 /*numEras*/,
14173  kZoneEraAmerica_Toronto /*eras*/,
14174  nullptr /*targetInfo*/,
14175 };
14176 
14177 //---------------------------------------------------------------------------
14178 // Zone name: America/Vancouver
14179 // Eras: 3
14180 //---------------------------------------------------------------------------
14181 
14182 static const complete::ZoneEra kZoneEraAmerica_Vancouver[] ACE_TIME_PROGMEM = {
14183  // -8:12:28 - LMT 1884
14184  {
14185  nullptr /*zonePolicy*/,
14186  "LMT" /*format*/,
14187  -1970 /*offsetCode (-29548/15)*/,
14188  2 /*offsetRemainder (-29548%15)*/,
14189  0 /*deltaMinutes*/,
14190  1884 /*untilYear*/,
14191  1 /*untilMonth*/,
14192  1 /*untilDay*/,
14193  0 /*untilTimeCode (0/15)*/,
14194  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14195  },
14196  // -8:00 Vanc P%sT 1987
14197  {
14198  &kZonePolicyVanc /*zonePolicy*/,
14199  "P%T" /*format*/,
14200  -1920 /*offsetCode (-28800/15)*/,
14201  0 /*offsetRemainder (-28800%15)*/,
14202  0 /*deltaMinutes*/,
14203  1987 /*untilYear*/,
14204  1 /*untilMonth*/,
14205  1 /*untilDay*/,
14206  0 /*untilTimeCode (0/15)*/,
14207  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14208  },
14209  // -8:00 Canada P%sT
14210  {
14211  &kZonePolicyCanada /*zonePolicy*/,
14212  "P%T" /*format*/,
14213  -1920 /*offsetCode (-28800/15)*/,
14214  0 /*offsetRemainder (-28800%15)*/,
14215  0 /*deltaMinutes*/,
14216  32767 /*untilYear*/,
14217  1 /*untilMonth*/,
14218  1 /*untilDay*/,
14219  0 /*untilTimeCode (0/15)*/,
14220  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14221  },
14222 
14223 };
14224 
14225 static const char kZoneNameAmerica_Vancouver[] ACE_TIME_PROGMEM = "\x02" "Vancouver";
14226 
14227 const complete::ZoneInfo kZoneAmerica_Vancouver ACE_TIME_PROGMEM = {
14228  kZoneNameAmerica_Vancouver /*name*/,
14229  0x2c6f6b1f /*zoneId*/,
14230  &kZoneContext /*zoneContext*/,
14231  3 /*numEras*/,
14232  kZoneEraAmerica_Vancouver /*eras*/,
14233  nullptr /*targetInfo*/,
14234 };
14235 
14236 //---------------------------------------------------------------------------
14237 // Zone name: America/Whitehorse
14238 // Eras: 6
14239 //---------------------------------------------------------------------------
14240 
14241 static const complete::ZoneEra kZoneEraAmerica_Whitehorse[] ACE_TIME_PROGMEM = {
14242  // -9:00:12 - LMT 1900 Aug 20
14243  {
14244  nullptr /*zonePolicy*/,
14245  "LMT" /*format*/,
14246  -2161 /*offsetCode (-32412/15)*/,
14247  3 /*offsetRemainder (-32412%15)*/,
14248  0 /*deltaMinutes*/,
14249  1900 /*untilYear*/,
14250  8 /*untilMonth*/,
14251  20 /*untilDay*/,
14252  0 /*untilTimeCode (0/15)*/,
14253  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14254  },
14255  // -9:00 NT_YK Y%sT 1965
14256  {
14257  &kZonePolicyNT_YK /*zonePolicy*/,
14258  "Y%T" /*format*/,
14259  -2160 /*offsetCode (-32400/15)*/,
14260  0 /*offsetRemainder (-32400%15)*/,
14261  0 /*deltaMinutes*/,
14262  1965 /*untilYear*/,
14263  1 /*untilMonth*/,
14264  1 /*untilDay*/,
14265  0 /*untilTimeCode (0/15)*/,
14266  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14267  },
14268  // -9:00 Yukon Y%sT 1966 Feb 27 0:00
14269  {
14270  &kZonePolicyYukon /*zonePolicy*/,
14271  "Y%T" /*format*/,
14272  -2160 /*offsetCode (-32400/15)*/,
14273  0 /*offsetRemainder (-32400%15)*/,
14274  0 /*deltaMinutes*/,
14275  1966 /*untilYear*/,
14276  2 /*untilMonth*/,
14277  27 /*untilDay*/,
14278  0 /*untilTimeCode (0/15)*/,
14279  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14280  },
14281  // -8:00 - PST 1980
14282  {
14283  nullptr /*zonePolicy*/,
14284  "PST" /*format*/,
14285  -1920 /*offsetCode (-28800/15)*/,
14286  0 /*offsetRemainder (-28800%15)*/,
14287  0 /*deltaMinutes*/,
14288  1980 /*untilYear*/,
14289  1 /*untilMonth*/,
14290  1 /*untilDay*/,
14291  0 /*untilTimeCode (0/15)*/,
14292  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14293  },
14294  // -8:00 Canada P%sT 2020 Nov 1
14295  {
14296  &kZonePolicyCanada /*zonePolicy*/,
14297  "P%T" /*format*/,
14298  -1920 /*offsetCode (-28800/15)*/,
14299  0 /*offsetRemainder (-28800%15)*/,
14300  0 /*deltaMinutes*/,
14301  2020 /*untilYear*/,
14302  11 /*untilMonth*/,
14303  1 /*untilDay*/,
14304  0 /*untilTimeCode (0/15)*/,
14305  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14306  },
14307  // -7:00 - MST
14308  {
14309  nullptr /*zonePolicy*/,
14310  "MST" /*format*/,
14311  -1680 /*offsetCode (-25200/15)*/,
14312  0 /*offsetRemainder (-25200%15)*/,
14313  0 /*deltaMinutes*/,
14314  32767 /*untilYear*/,
14315  1 /*untilMonth*/,
14316  1 /*untilDay*/,
14317  0 /*untilTimeCode (0/15)*/,
14318  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14319  },
14320 
14321 };
14322 
14323 static const char kZoneNameAmerica_Whitehorse[] ACE_TIME_PROGMEM = "\x02" "Whitehorse";
14324 
14325 const complete::ZoneInfo kZoneAmerica_Whitehorse ACE_TIME_PROGMEM = {
14326  kZoneNameAmerica_Whitehorse /*name*/,
14327  0x54e0e3e8 /*zoneId*/,
14328  &kZoneContext /*zoneContext*/,
14329  6 /*numEras*/,
14330  kZoneEraAmerica_Whitehorse /*eras*/,
14331  nullptr /*targetInfo*/,
14332 };
14333 
14334 //---------------------------------------------------------------------------
14335 // Zone name: America/Winnipeg
14336 // Eras: 3
14337 //---------------------------------------------------------------------------
14338 
14339 static const complete::ZoneEra kZoneEraAmerica_Winnipeg[] ACE_TIME_PROGMEM = {
14340  // -6:28:36 - LMT 1887 Jul 16
14341  {
14342  nullptr /*zonePolicy*/,
14343  "LMT" /*format*/,
14344  -1555 /*offsetCode (-23316/15)*/,
14345  9 /*offsetRemainder (-23316%15)*/,
14346  0 /*deltaMinutes*/,
14347  1887 /*untilYear*/,
14348  7 /*untilMonth*/,
14349  16 /*untilDay*/,
14350  0 /*untilTimeCode (0/15)*/,
14351  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14352  },
14353  // -6:00 Winn C%sT 2006
14354  {
14355  &kZonePolicyWinn /*zonePolicy*/,
14356  "C%T" /*format*/,
14357  -1440 /*offsetCode (-21600/15)*/,
14358  0 /*offsetRemainder (-21600%15)*/,
14359  0 /*deltaMinutes*/,
14360  2006 /*untilYear*/,
14361  1 /*untilMonth*/,
14362  1 /*untilDay*/,
14363  0 /*untilTimeCode (0/15)*/,
14364  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14365  },
14366  // -6:00 Canada C%sT
14367  {
14368  &kZonePolicyCanada /*zonePolicy*/,
14369  "C%T" /*format*/,
14370  -1440 /*offsetCode (-21600/15)*/,
14371  0 /*offsetRemainder (-21600%15)*/,
14372  0 /*deltaMinutes*/,
14373  32767 /*untilYear*/,
14374  1 /*untilMonth*/,
14375  1 /*untilDay*/,
14376  0 /*untilTimeCode (0/15)*/,
14377  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14378  },
14379 
14380 };
14381 
14382 static const char kZoneNameAmerica_Winnipeg[] ACE_TIME_PROGMEM = "\x02" "Winnipeg";
14383 
14384 const complete::ZoneInfo kZoneAmerica_Winnipeg ACE_TIME_PROGMEM = {
14385  kZoneNameAmerica_Winnipeg /*name*/,
14386  0x8c7dafc7 /*zoneId*/,
14387  &kZoneContext /*zoneContext*/,
14388  3 /*numEras*/,
14389  kZoneEraAmerica_Winnipeg /*eras*/,
14390  nullptr /*targetInfo*/,
14391 };
14392 
14393 //---------------------------------------------------------------------------
14394 // Zone name: America/Yakutat
14395 // Eras: 7
14396 //---------------------------------------------------------------------------
14397 
14398 static const complete::ZoneEra kZoneEraAmerica_Yakutat[] ACE_TIME_PROGMEM = {
14399  // 14:41:05 - LMT 1867 Oct 19 15:12:18
14400  {
14401  nullptr /*zonePolicy*/,
14402  "LMT" /*format*/,
14403  3524 /*offsetCode (52865/15)*/,
14404  5 /*offsetRemainder (52865%15)*/,
14405  0 /*deltaMinutes*/,
14406  1867 /*untilYear*/,
14407  10 /*untilMonth*/,
14408  19 /*untilDay*/,
14409  3649 /*untilTimeCode (54738/15)*/,
14410  3 /*untilTimeModifier (kAtcSuffixW + seconds=3)*/,
14411  },
14412  // -9:18:55 - LMT 1900 Aug 20 12:00
14413  {
14414  nullptr /*zonePolicy*/,
14415  "LMT" /*format*/,
14416  -2236 /*offsetCode (-33535/15)*/,
14417  5 /*offsetRemainder (-33535%15)*/,
14418  0 /*deltaMinutes*/,
14419  1900 /*untilYear*/,
14420  8 /*untilMonth*/,
14421  20 /*untilDay*/,
14422  2880 /*untilTimeCode (43200/15)*/,
14423  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14424  },
14425  // -9:00 - YST 1942
14426  {
14427  nullptr /*zonePolicy*/,
14428  "YST" /*format*/,
14429  -2160 /*offsetCode (-32400/15)*/,
14430  0 /*offsetRemainder (-32400%15)*/,
14431  0 /*deltaMinutes*/,
14432  1942 /*untilYear*/,
14433  1 /*untilMonth*/,
14434  1 /*untilDay*/,
14435  0 /*untilTimeCode (0/15)*/,
14436  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14437  },
14438  // -9:00 US Y%sT 1946
14439  {
14440  &kZonePolicyUS /*zonePolicy*/,
14441  "Y%T" /*format*/,
14442  -2160 /*offsetCode (-32400/15)*/,
14443  0 /*offsetRemainder (-32400%15)*/,
14444  0 /*deltaMinutes*/,
14445  1946 /*untilYear*/,
14446  1 /*untilMonth*/,
14447  1 /*untilDay*/,
14448  0 /*untilTimeCode (0/15)*/,
14449  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14450  },
14451  // -9:00 - YST 1969
14452  {
14453  nullptr /*zonePolicy*/,
14454  "YST" /*format*/,
14455  -2160 /*offsetCode (-32400/15)*/,
14456  0 /*offsetRemainder (-32400%15)*/,
14457  0 /*deltaMinutes*/,
14458  1969 /*untilYear*/,
14459  1 /*untilMonth*/,
14460  1 /*untilDay*/,
14461  0 /*untilTimeCode (0/15)*/,
14462  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14463  },
14464  // -9:00 US Y%sT 1983 Nov 30
14465  {
14466  &kZonePolicyUS /*zonePolicy*/,
14467  "Y%T" /*format*/,
14468  -2160 /*offsetCode (-32400/15)*/,
14469  0 /*offsetRemainder (-32400%15)*/,
14470  0 /*deltaMinutes*/,
14471  1983 /*untilYear*/,
14472  11 /*untilMonth*/,
14473  30 /*untilDay*/,
14474  0 /*untilTimeCode (0/15)*/,
14475  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14476  },
14477  // -9:00 US AK%sT
14478  {
14479  &kZonePolicyUS /*zonePolicy*/,
14480  "AK%T" /*format*/,
14481  -2160 /*offsetCode (-32400/15)*/,
14482  0 /*offsetRemainder (-32400%15)*/,
14483  0 /*deltaMinutes*/,
14484  32767 /*untilYear*/,
14485  1 /*untilMonth*/,
14486  1 /*untilDay*/,
14487  0 /*untilTimeCode (0/15)*/,
14488  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14489  },
14490 
14491 };
14492 
14493 static const char kZoneNameAmerica_Yakutat[] ACE_TIME_PROGMEM = "\x02" "Yakutat";
14494 
14495 const complete::ZoneInfo kZoneAmerica_Yakutat ACE_TIME_PROGMEM = {
14496  kZoneNameAmerica_Yakutat /*name*/,
14497  0xd8ee31e9 /*zoneId*/,
14498  &kZoneContext /*zoneContext*/,
14499  7 /*numEras*/,
14500  kZoneEraAmerica_Yakutat /*eras*/,
14501  nullptr /*targetInfo*/,
14502 };
14503 
14504 //---------------------------------------------------------------------------
14505 // Zone name: Antarctica/Casey
14506 // Eras: 18
14507 //---------------------------------------------------------------------------
14508 
14509 static const complete::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = {
14510  // 0 - -00 1969
14511  {
14512  nullptr /*zonePolicy*/,
14513  "-00" /*format*/,
14514  0 /*offsetCode (0/15)*/,
14515  0 /*offsetRemainder (0%15)*/,
14516  0 /*deltaMinutes*/,
14517  1969 /*untilYear*/,
14518  1 /*untilMonth*/,
14519  1 /*untilDay*/,
14520  0 /*untilTimeCode (0/15)*/,
14521  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14522  },
14523  // 8:00 - %z 2009 Oct 18 2:00
14524  {
14525  nullptr /*zonePolicy*/,
14526  "" /*format*/,
14527  1920 /*offsetCode (28800/15)*/,
14528  0 /*offsetRemainder (28800%15)*/,
14529  0 /*deltaMinutes*/,
14530  2009 /*untilYear*/,
14531  10 /*untilMonth*/,
14532  18 /*untilDay*/,
14533  480 /*untilTimeCode (7200/15)*/,
14534  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14535  },
14536  // 11:00 - %z 2010 Mar 5 2:00
14537  {
14538  nullptr /*zonePolicy*/,
14539  "" /*format*/,
14540  2640 /*offsetCode (39600/15)*/,
14541  0 /*offsetRemainder (39600%15)*/,
14542  0 /*deltaMinutes*/,
14543  2010 /*untilYear*/,
14544  3 /*untilMonth*/,
14545  5 /*untilDay*/,
14546  480 /*untilTimeCode (7200/15)*/,
14547  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14548  },
14549  // 8:00 - %z 2011 Oct 28 2:00
14550  {
14551  nullptr /*zonePolicy*/,
14552  "" /*format*/,
14553  1920 /*offsetCode (28800/15)*/,
14554  0 /*offsetRemainder (28800%15)*/,
14555  0 /*deltaMinutes*/,
14556  2011 /*untilYear*/,
14557  10 /*untilMonth*/,
14558  28 /*untilDay*/,
14559  480 /*untilTimeCode (7200/15)*/,
14560  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14561  },
14562  // 11:00 - %z 2012 Feb 21 17:00u
14563  {
14564  nullptr /*zonePolicy*/,
14565  "" /*format*/,
14566  2640 /*offsetCode (39600/15)*/,
14567  0 /*offsetRemainder (39600%15)*/,
14568  0 /*deltaMinutes*/,
14569  2012 /*untilYear*/,
14570  2 /*untilMonth*/,
14571  21 /*untilDay*/,
14572  4080 /*untilTimeCode (61200/15)*/,
14573  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
14574  },
14575  // 8:00 - %z 2016 Oct 22
14576  {
14577  nullptr /*zonePolicy*/,
14578  "" /*format*/,
14579  1920 /*offsetCode (28800/15)*/,
14580  0 /*offsetRemainder (28800%15)*/,
14581  0 /*deltaMinutes*/,
14582  2016 /*untilYear*/,
14583  10 /*untilMonth*/,
14584  22 /*untilDay*/,
14585  0 /*untilTimeCode (0/15)*/,
14586  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14587  },
14588  // 11:00 - %z 2018 Mar 11 4:00
14589  {
14590  nullptr /*zonePolicy*/,
14591  "" /*format*/,
14592  2640 /*offsetCode (39600/15)*/,
14593  0 /*offsetRemainder (39600%15)*/,
14594  0 /*deltaMinutes*/,
14595  2018 /*untilYear*/,
14596  3 /*untilMonth*/,
14597  11 /*untilDay*/,
14598  960 /*untilTimeCode (14400/15)*/,
14599  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14600  },
14601  // 8:00 - %z 2018 Oct 7 4:00
14602  {
14603  nullptr /*zonePolicy*/,
14604  "" /*format*/,
14605  1920 /*offsetCode (28800/15)*/,
14606  0 /*offsetRemainder (28800%15)*/,
14607  0 /*deltaMinutes*/,
14608  2018 /*untilYear*/,
14609  10 /*untilMonth*/,
14610  7 /*untilDay*/,
14611  960 /*untilTimeCode (14400/15)*/,
14612  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14613  },
14614  // 11:00 - %z 2019 Mar 17 3:00
14615  {
14616  nullptr /*zonePolicy*/,
14617  "" /*format*/,
14618  2640 /*offsetCode (39600/15)*/,
14619  0 /*offsetRemainder (39600%15)*/,
14620  0 /*deltaMinutes*/,
14621  2019 /*untilYear*/,
14622  3 /*untilMonth*/,
14623  17 /*untilDay*/,
14624  720 /*untilTimeCode (10800/15)*/,
14625  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14626  },
14627  // 8:00 - %z 2019 Oct 4 3:00
14628  {
14629  nullptr /*zonePolicy*/,
14630  "" /*format*/,
14631  1920 /*offsetCode (28800/15)*/,
14632  0 /*offsetRemainder (28800%15)*/,
14633  0 /*deltaMinutes*/,
14634  2019 /*untilYear*/,
14635  10 /*untilMonth*/,
14636  4 /*untilDay*/,
14637  720 /*untilTimeCode (10800/15)*/,
14638  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14639  },
14640  // 11:00 - %z 2020 Mar 8 3:00
14641  {
14642  nullptr /*zonePolicy*/,
14643  "" /*format*/,
14644  2640 /*offsetCode (39600/15)*/,
14645  0 /*offsetRemainder (39600%15)*/,
14646  0 /*deltaMinutes*/,
14647  2020 /*untilYear*/,
14648  3 /*untilMonth*/,
14649  8 /*untilDay*/,
14650  720 /*untilTimeCode (10800/15)*/,
14651  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14652  },
14653  // 8:00 - %z 2020 Oct 4 0:01
14654  {
14655  nullptr /*zonePolicy*/,
14656  "" /*format*/,
14657  1920 /*offsetCode (28800/15)*/,
14658  0 /*offsetRemainder (28800%15)*/,
14659  0 /*deltaMinutes*/,
14660  2020 /*untilYear*/,
14661  10 /*untilMonth*/,
14662  4 /*untilDay*/,
14663  4 /*untilTimeCode (60/15)*/,
14664  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14665  },
14666  // 11:00 - %z 2021 Mar 14 0:00
14667  {
14668  nullptr /*zonePolicy*/,
14669  "" /*format*/,
14670  2640 /*offsetCode (39600/15)*/,
14671  0 /*offsetRemainder (39600%15)*/,
14672  0 /*deltaMinutes*/,
14673  2021 /*untilYear*/,
14674  3 /*untilMonth*/,
14675  14 /*untilDay*/,
14676  0 /*untilTimeCode (0/15)*/,
14677  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14678  },
14679  // 8:00 - %z 2021 Oct 3 0:01
14680  {
14681  nullptr /*zonePolicy*/,
14682  "" /*format*/,
14683  1920 /*offsetCode (28800/15)*/,
14684  0 /*offsetRemainder (28800%15)*/,
14685  0 /*deltaMinutes*/,
14686  2021 /*untilYear*/,
14687  10 /*untilMonth*/,
14688  3 /*untilDay*/,
14689  4 /*untilTimeCode (60/15)*/,
14690  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14691  },
14692  // 11:00 - %z 2022 Mar 13 0:00
14693  {
14694  nullptr /*zonePolicy*/,
14695  "" /*format*/,
14696  2640 /*offsetCode (39600/15)*/,
14697  0 /*offsetRemainder (39600%15)*/,
14698  0 /*deltaMinutes*/,
14699  2022 /*untilYear*/,
14700  3 /*untilMonth*/,
14701  13 /*untilDay*/,
14702  0 /*untilTimeCode (0/15)*/,
14703  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14704  },
14705  // 8:00 - %z 2022 Oct 2 0:01
14706  {
14707  nullptr /*zonePolicy*/,
14708  "" /*format*/,
14709  1920 /*offsetCode (28800/15)*/,
14710  0 /*offsetRemainder (28800%15)*/,
14711  0 /*deltaMinutes*/,
14712  2022 /*untilYear*/,
14713  10 /*untilMonth*/,
14714  2 /*untilDay*/,
14715  4 /*untilTimeCode (60/15)*/,
14716  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14717  },
14718  // 11:00 - %z 2023 Mar 9 3:00
14719  {
14720  nullptr /*zonePolicy*/,
14721  "" /*format*/,
14722  2640 /*offsetCode (39600/15)*/,
14723  0 /*offsetRemainder (39600%15)*/,
14724  0 /*deltaMinutes*/,
14725  2023 /*untilYear*/,
14726  3 /*untilMonth*/,
14727  9 /*untilDay*/,
14728  720 /*untilTimeCode (10800/15)*/,
14729  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14730  },
14731  // 8:00 - %z
14732  {
14733  nullptr /*zonePolicy*/,
14734  "" /*format*/,
14735  1920 /*offsetCode (28800/15)*/,
14736  0 /*offsetRemainder (28800%15)*/,
14737  0 /*deltaMinutes*/,
14738  32767 /*untilYear*/,
14739  1 /*untilMonth*/,
14740  1 /*untilDay*/,
14741  0 /*untilTimeCode (0/15)*/,
14742  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14743  },
14744 
14745 };
14746 
14747 static const char kZoneNameAntarctica_Casey[] ACE_TIME_PROGMEM = "\x03" "Casey";
14748 
14749 const complete::ZoneInfo kZoneAntarctica_Casey ACE_TIME_PROGMEM = {
14750  kZoneNameAntarctica_Casey /*name*/,
14751  0xe2022583 /*zoneId*/,
14752  &kZoneContext /*zoneContext*/,
14753  18 /*numEras*/,
14754  kZoneEraAntarctica_Casey /*eras*/,
14755  nullptr /*targetInfo*/,
14756 };
14757 
14758 //---------------------------------------------------------------------------
14759 // Zone name: Antarctica/Davis
14760 // Eras: 8
14761 //---------------------------------------------------------------------------
14762 
14763 static const complete::ZoneEra kZoneEraAntarctica_Davis[] ACE_TIME_PROGMEM = {
14764  // 0 - -00 1957 Jan 13
14765  {
14766  nullptr /*zonePolicy*/,
14767  "-00" /*format*/,
14768  0 /*offsetCode (0/15)*/,
14769  0 /*offsetRemainder (0%15)*/,
14770  0 /*deltaMinutes*/,
14771  1957 /*untilYear*/,
14772  1 /*untilMonth*/,
14773  13 /*untilDay*/,
14774  0 /*untilTimeCode (0/15)*/,
14775  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14776  },
14777  // 7:00 - %z 1964 Nov
14778  {
14779  nullptr /*zonePolicy*/,
14780  "" /*format*/,
14781  1680 /*offsetCode (25200/15)*/,
14782  0 /*offsetRemainder (25200%15)*/,
14783  0 /*deltaMinutes*/,
14784  1964 /*untilYear*/,
14785  11 /*untilMonth*/,
14786  1 /*untilDay*/,
14787  0 /*untilTimeCode (0/15)*/,
14788  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14789  },
14790  // 0 - -00 1969 Feb
14791  {
14792  nullptr /*zonePolicy*/,
14793  "-00" /*format*/,
14794  0 /*offsetCode (0/15)*/,
14795  0 /*offsetRemainder (0%15)*/,
14796  0 /*deltaMinutes*/,
14797  1969 /*untilYear*/,
14798  2 /*untilMonth*/,
14799  1 /*untilDay*/,
14800  0 /*untilTimeCode (0/15)*/,
14801  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14802  },
14803  // 7:00 - %z 2009 Oct 18 2:00
14804  {
14805  nullptr /*zonePolicy*/,
14806  "" /*format*/,
14807  1680 /*offsetCode (25200/15)*/,
14808  0 /*offsetRemainder (25200%15)*/,
14809  0 /*deltaMinutes*/,
14810  2009 /*untilYear*/,
14811  10 /*untilMonth*/,
14812  18 /*untilDay*/,
14813  480 /*untilTimeCode (7200/15)*/,
14814  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14815  },
14816  // 5:00 - %z 2010 Mar 10 20:00u
14817  {
14818  nullptr /*zonePolicy*/,
14819  "" /*format*/,
14820  1200 /*offsetCode (18000/15)*/,
14821  0 /*offsetRemainder (18000%15)*/,
14822  0 /*deltaMinutes*/,
14823  2010 /*untilYear*/,
14824  3 /*untilMonth*/,
14825  10 /*untilDay*/,
14826  4800 /*untilTimeCode (72000/15)*/,
14827  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
14828  },
14829  // 7:00 - %z 2011 Oct 28 2:00
14830  {
14831  nullptr /*zonePolicy*/,
14832  "" /*format*/,
14833  1680 /*offsetCode (25200/15)*/,
14834  0 /*offsetRemainder (25200%15)*/,
14835  0 /*deltaMinutes*/,
14836  2011 /*untilYear*/,
14837  10 /*untilMonth*/,
14838  28 /*untilDay*/,
14839  480 /*untilTimeCode (7200/15)*/,
14840  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14841  },
14842  // 5:00 - %z 2012 Feb 21 20:00u
14843  {
14844  nullptr /*zonePolicy*/,
14845  "" /*format*/,
14846  1200 /*offsetCode (18000/15)*/,
14847  0 /*offsetRemainder (18000%15)*/,
14848  0 /*deltaMinutes*/,
14849  2012 /*untilYear*/,
14850  2 /*untilMonth*/,
14851  21 /*untilDay*/,
14852  4800 /*untilTimeCode (72000/15)*/,
14853  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
14854  },
14855  // 7:00 - %z
14856  {
14857  nullptr /*zonePolicy*/,
14858  "" /*format*/,
14859  1680 /*offsetCode (25200/15)*/,
14860  0 /*offsetRemainder (25200%15)*/,
14861  0 /*deltaMinutes*/,
14862  32767 /*untilYear*/,
14863  1 /*untilMonth*/,
14864  1 /*untilDay*/,
14865  0 /*untilTimeCode (0/15)*/,
14866  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14867  },
14868 
14869 };
14870 
14871 static const char kZoneNameAntarctica_Davis[] ACE_TIME_PROGMEM = "\x03" "Davis";
14872 
14873 const complete::ZoneInfo kZoneAntarctica_Davis ACE_TIME_PROGMEM = {
14874  kZoneNameAntarctica_Davis /*name*/,
14875  0xe2144b45 /*zoneId*/,
14876  &kZoneContext /*zoneContext*/,
14877  8 /*numEras*/,
14878  kZoneEraAntarctica_Davis /*eras*/,
14879  nullptr /*targetInfo*/,
14880 };
14881 
14882 //---------------------------------------------------------------------------
14883 // Zone name: Antarctica/Macquarie
14884 // Eras: 9
14885 //---------------------------------------------------------------------------
14886 
14887 static const complete::ZoneEra kZoneEraAntarctica_Macquarie[] ACE_TIME_PROGMEM = {
14888  // 0 - -00 1899 Nov
14889  {
14890  nullptr /*zonePolicy*/,
14891  "-00" /*format*/,
14892  0 /*offsetCode (0/15)*/,
14893  0 /*offsetRemainder (0%15)*/,
14894  0 /*deltaMinutes*/,
14895  1899 /*untilYear*/,
14896  11 /*untilMonth*/,
14897  1 /*untilDay*/,
14898  0 /*untilTimeCode (0/15)*/,
14899  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14900  },
14901  // 10:00 - AEST 1916 Oct 1 2:00
14902  {
14903  nullptr /*zonePolicy*/,
14904  "AEST" /*format*/,
14905  2400 /*offsetCode (36000/15)*/,
14906  0 /*offsetRemainder (36000%15)*/,
14907  0 /*deltaMinutes*/,
14908  1916 /*untilYear*/,
14909  10 /*untilMonth*/,
14910  1 /*untilDay*/,
14911  480 /*untilTimeCode (7200/15)*/,
14912  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14913  },
14914  // 10:00 1:00 AEDT 1917 Feb
14915  {
14916  nullptr /*zonePolicy*/,
14917  "AEDT" /*format*/,
14918  2400 /*offsetCode (36000/15)*/,
14919  0 /*offsetRemainder (36000%15)*/,
14920  60 /*deltaMinutes*/,
14921  1917 /*untilYear*/,
14922  2 /*untilMonth*/,
14923  1 /*untilDay*/,
14924  0 /*untilTimeCode (0/15)*/,
14925  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14926  },
14927  // 10:00 Aus AE%sT 1919 Apr 1 0:00s
14928  {
14929  &kZonePolicyAus /*zonePolicy*/,
14930  "AE%T" /*format*/,
14931  2400 /*offsetCode (36000/15)*/,
14932  0 /*offsetRemainder (36000%15)*/,
14933  0 /*deltaMinutes*/,
14934  1919 /*untilYear*/,
14935  4 /*untilMonth*/,
14936  1 /*untilDay*/,
14937  0 /*untilTimeCode (0/15)*/,
14938  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
14939  },
14940  // 0 - -00 1948 Mar 25
14941  {
14942  nullptr /*zonePolicy*/,
14943  "-00" /*format*/,
14944  0 /*offsetCode (0/15)*/,
14945  0 /*offsetRemainder (0%15)*/,
14946  0 /*deltaMinutes*/,
14947  1948 /*untilYear*/,
14948  3 /*untilMonth*/,
14949  25 /*untilDay*/,
14950  0 /*untilTimeCode (0/15)*/,
14951  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14952  },
14953  // 10:00 Aus AE%sT 1967
14954  {
14955  &kZonePolicyAus /*zonePolicy*/,
14956  "AE%T" /*format*/,
14957  2400 /*offsetCode (36000/15)*/,
14958  0 /*offsetRemainder (36000%15)*/,
14959  0 /*deltaMinutes*/,
14960  1967 /*untilYear*/,
14961  1 /*untilMonth*/,
14962  1 /*untilDay*/,
14963  0 /*untilTimeCode (0/15)*/,
14964  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14965  },
14966  // 10:00 AT AE%sT 2010
14967  {
14968  &kZonePolicyAT /*zonePolicy*/,
14969  "AE%T" /*format*/,
14970  2400 /*offsetCode (36000/15)*/,
14971  0 /*offsetRemainder (36000%15)*/,
14972  0 /*deltaMinutes*/,
14973  2010 /*untilYear*/,
14974  1 /*untilMonth*/,
14975  1 /*untilDay*/,
14976  0 /*untilTimeCode (0/15)*/,
14977  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14978  },
14979  // 10:00 1:00 AEDT 2011
14980  {
14981  nullptr /*zonePolicy*/,
14982  "AEDT" /*format*/,
14983  2400 /*offsetCode (36000/15)*/,
14984  0 /*offsetRemainder (36000%15)*/,
14985  60 /*deltaMinutes*/,
14986  2011 /*untilYear*/,
14987  1 /*untilMonth*/,
14988  1 /*untilDay*/,
14989  0 /*untilTimeCode (0/15)*/,
14990  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
14991  },
14992  // 10:00 AT AE%sT
14993  {
14994  &kZonePolicyAT /*zonePolicy*/,
14995  "AE%T" /*format*/,
14996  2400 /*offsetCode (36000/15)*/,
14997  0 /*offsetRemainder (36000%15)*/,
14998  0 /*deltaMinutes*/,
14999  32767 /*untilYear*/,
15000  1 /*untilMonth*/,
15001  1 /*untilDay*/,
15002  0 /*untilTimeCode (0/15)*/,
15003  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15004  },
15005 
15006 };
15007 
15008 static const char kZoneNameAntarctica_Macquarie[] ACE_TIME_PROGMEM = "\x03" "Macquarie";
15009 
15010 const complete::ZoneInfo kZoneAntarctica_Macquarie ACE_TIME_PROGMEM = {
15011  kZoneNameAntarctica_Macquarie /*name*/,
15012  0x92f47626 /*zoneId*/,
15013  &kZoneContext /*zoneContext*/,
15014  9 /*numEras*/,
15015  kZoneEraAntarctica_Macquarie /*eras*/,
15016  nullptr /*targetInfo*/,
15017 };
15018 
15019 //---------------------------------------------------------------------------
15020 // Zone name: Antarctica/Mawson
15021 // Eras: 3
15022 //---------------------------------------------------------------------------
15023 
15024 static const complete::ZoneEra kZoneEraAntarctica_Mawson[] ACE_TIME_PROGMEM = {
15025  // 0 - -00 1954 Feb 13
15026  {
15027  nullptr /*zonePolicy*/,
15028  "-00" /*format*/,
15029  0 /*offsetCode (0/15)*/,
15030  0 /*offsetRemainder (0%15)*/,
15031  0 /*deltaMinutes*/,
15032  1954 /*untilYear*/,
15033  2 /*untilMonth*/,
15034  13 /*untilDay*/,
15035  0 /*untilTimeCode (0/15)*/,
15036  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15037  },
15038  // 6:00 - %z 2009 Oct 18 2:00
15039  {
15040  nullptr /*zonePolicy*/,
15041  "" /*format*/,
15042  1440 /*offsetCode (21600/15)*/,
15043  0 /*offsetRemainder (21600%15)*/,
15044  0 /*deltaMinutes*/,
15045  2009 /*untilYear*/,
15046  10 /*untilMonth*/,
15047  18 /*untilDay*/,
15048  480 /*untilTimeCode (7200/15)*/,
15049  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15050  },
15051  // 5:00 - %z
15052  {
15053  nullptr /*zonePolicy*/,
15054  "" /*format*/,
15055  1200 /*offsetCode (18000/15)*/,
15056  0 /*offsetRemainder (18000%15)*/,
15057  0 /*deltaMinutes*/,
15058  32767 /*untilYear*/,
15059  1 /*untilMonth*/,
15060  1 /*untilDay*/,
15061  0 /*untilTimeCode (0/15)*/,
15062  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15063  },
15064 
15065 };
15066 
15067 static const char kZoneNameAntarctica_Mawson[] ACE_TIME_PROGMEM = "\x03" "Mawson";
15068 
15069 const complete::ZoneInfo kZoneAntarctica_Mawson ACE_TIME_PROGMEM = {
15070  kZoneNameAntarctica_Mawson /*name*/,
15071  0x399cd863 /*zoneId*/,
15072  &kZoneContext /*zoneContext*/,
15073  3 /*numEras*/,
15074  kZoneEraAntarctica_Mawson /*eras*/,
15075  nullptr /*targetInfo*/,
15076 };
15077 
15078 //---------------------------------------------------------------------------
15079 // Zone name: Antarctica/Palmer
15080 // Eras: 5
15081 //---------------------------------------------------------------------------
15082 
15083 static const complete::ZoneEra kZoneEraAntarctica_Palmer[] ACE_TIME_PROGMEM = {
15084  // 0 - -00 1965
15085  {
15086  nullptr /*zonePolicy*/,
15087  "-00" /*format*/,
15088  0 /*offsetCode (0/15)*/,
15089  0 /*offsetRemainder (0%15)*/,
15090  0 /*deltaMinutes*/,
15091  1965 /*untilYear*/,
15092  1 /*untilMonth*/,
15093  1 /*untilDay*/,
15094  0 /*untilTimeCode (0/15)*/,
15095  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15096  },
15097  // -4:00 Arg %z 1969 Oct 5
15098  {
15099  &kZonePolicyArg /*zonePolicy*/,
15100  "" /*format*/,
15101  -960 /*offsetCode (-14400/15)*/,
15102  0 /*offsetRemainder (-14400%15)*/,
15103  0 /*deltaMinutes*/,
15104  1969 /*untilYear*/,
15105  10 /*untilMonth*/,
15106  5 /*untilDay*/,
15107  0 /*untilTimeCode (0/15)*/,
15108  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15109  },
15110  // -3:00 Arg %z 1982 May
15111  {
15112  &kZonePolicyArg /*zonePolicy*/,
15113  "" /*format*/,
15114  -720 /*offsetCode (-10800/15)*/,
15115  0 /*offsetRemainder (-10800%15)*/,
15116  0 /*deltaMinutes*/,
15117  1982 /*untilYear*/,
15118  5 /*untilMonth*/,
15119  1 /*untilDay*/,
15120  0 /*untilTimeCode (0/15)*/,
15121  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15122  },
15123  // -4:00 Chile %z 2016 Dec 4
15124  {
15125  &kZonePolicyChile /*zonePolicy*/,
15126  "" /*format*/,
15127  -960 /*offsetCode (-14400/15)*/,
15128  0 /*offsetRemainder (-14400%15)*/,
15129  0 /*deltaMinutes*/,
15130  2016 /*untilYear*/,
15131  12 /*untilMonth*/,
15132  4 /*untilDay*/,
15133  0 /*untilTimeCode (0/15)*/,
15134  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15135  },
15136  // -3:00 - %z
15137  {
15138  nullptr /*zonePolicy*/,
15139  "" /*format*/,
15140  -720 /*offsetCode (-10800/15)*/,
15141  0 /*offsetRemainder (-10800%15)*/,
15142  0 /*deltaMinutes*/,
15143  32767 /*untilYear*/,
15144  1 /*untilMonth*/,
15145  1 /*untilDay*/,
15146  0 /*untilTimeCode (0/15)*/,
15147  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15148  },
15149 
15150 };
15151 
15152 static const char kZoneNameAntarctica_Palmer[] ACE_TIME_PROGMEM = "\x03" "Palmer";
15153 
15154 const complete::ZoneInfo kZoneAntarctica_Palmer ACE_TIME_PROGMEM = {
15155  kZoneNameAntarctica_Palmer /*name*/,
15156  0x40962f4f /*zoneId*/,
15157  &kZoneContext /*zoneContext*/,
15158  5 /*numEras*/,
15159  kZoneEraAntarctica_Palmer /*eras*/,
15160  nullptr /*targetInfo*/,
15161 };
15162 
15163 //---------------------------------------------------------------------------
15164 // Zone name: Antarctica/Rothera
15165 // Eras: 2
15166 //---------------------------------------------------------------------------
15167 
15168 static const complete::ZoneEra kZoneEraAntarctica_Rothera[] ACE_TIME_PROGMEM = {
15169  // 0 - -00 1976 Dec 1
15170  {
15171  nullptr /*zonePolicy*/,
15172  "-00" /*format*/,
15173  0 /*offsetCode (0/15)*/,
15174  0 /*offsetRemainder (0%15)*/,
15175  0 /*deltaMinutes*/,
15176  1976 /*untilYear*/,
15177  12 /*untilMonth*/,
15178  1 /*untilDay*/,
15179  0 /*untilTimeCode (0/15)*/,
15180  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15181  },
15182  // -3:00 - %z
15183  {
15184  nullptr /*zonePolicy*/,
15185  "" /*format*/,
15186  -720 /*offsetCode (-10800/15)*/,
15187  0 /*offsetRemainder (-10800%15)*/,
15188  0 /*deltaMinutes*/,
15189  32767 /*untilYear*/,
15190  1 /*untilMonth*/,
15191  1 /*untilDay*/,
15192  0 /*untilTimeCode (0/15)*/,
15193  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15194  },
15195 
15196 };
15197 
15198 static const char kZoneNameAntarctica_Rothera[] ACE_TIME_PROGMEM = "\x03" "Rothera";
15199 
15200 const complete::ZoneInfo kZoneAntarctica_Rothera ACE_TIME_PROGMEM = {
15201  kZoneNameAntarctica_Rothera /*name*/,
15202  0x0e86d203 /*zoneId*/,
15203  &kZoneContext /*zoneContext*/,
15204  2 /*numEras*/,
15205  kZoneEraAntarctica_Rothera /*eras*/,
15206  nullptr /*targetInfo*/,
15207 };
15208 
15209 //---------------------------------------------------------------------------
15210 // Zone name: Antarctica/Troll
15211 // Eras: 2
15212 //---------------------------------------------------------------------------
15213 
15214 static const complete::ZoneEra kZoneEraAntarctica_Troll[] ACE_TIME_PROGMEM = {
15215  // 0 - -00 2005 Feb 12
15216  {
15217  nullptr /*zonePolicy*/,
15218  "-00" /*format*/,
15219  0 /*offsetCode (0/15)*/,
15220  0 /*offsetRemainder (0%15)*/,
15221  0 /*deltaMinutes*/,
15222  2005 /*untilYear*/,
15223  2 /*untilMonth*/,
15224  12 /*untilDay*/,
15225  0 /*untilTimeCode (0/15)*/,
15226  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15227  },
15228  // 0:00 Troll %s
15229  {
15230  &kZonePolicyTroll /*zonePolicy*/,
15231  "%" /*format*/,
15232  0 /*offsetCode (0/15)*/,
15233  0 /*offsetRemainder (0%15)*/,
15234  0 /*deltaMinutes*/,
15235  32767 /*untilYear*/,
15236  1 /*untilMonth*/,
15237  1 /*untilDay*/,
15238  0 /*untilTimeCode (0/15)*/,
15239  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15240  },
15241 
15242 };
15243 
15244 static const char kZoneNameAntarctica_Troll[] ACE_TIME_PROGMEM = "\x03" "Troll";
15245 
15246 const complete::ZoneInfo kZoneAntarctica_Troll ACE_TIME_PROGMEM = {
15247  kZoneNameAntarctica_Troll /*name*/,
15248  0xe33f085b /*zoneId*/,
15249  &kZoneContext /*zoneContext*/,
15250  2 /*numEras*/,
15251  kZoneEraAntarctica_Troll /*eras*/,
15252  nullptr /*targetInfo*/,
15253 };
15254 
15255 //---------------------------------------------------------------------------
15256 // Zone name: Antarctica/Vostok
15257 // Eras: 5
15258 //---------------------------------------------------------------------------
15259 
15260 static const complete::ZoneEra kZoneEraAntarctica_Vostok[] ACE_TIME_PROGMEM = {
15261  // 0 - -00 1957 Dec 16
15262  {
15263  nullptr /*zonePolicy*/,
15264  "-00" /*format*/,
15265  0 /*offsetCode (0/15)*/,
15266  0 /*offsetRemainder (0%15)*/,
15267  0 /*deltaMinutes*/,
15268  1957 /*untilYear*/,
15269  12 /*untilMonth*/,
15270  16 /*untilDay*/,
15271  0 /*untilTimeCode (0/15)*/,
15272  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15273  },
15274  // 7:00 - %z 1994 Feb
15275  {
15276  nullptr /*zonePolicy*/,
15277  "" /*format*/,
15278  1680 /*offsetCode (25200/15)*/,
15279  0 /*offsetRemainder (25200%15)*/,
15280  0 /*deltaMinutes*/,
15281  1994 /*untilYear*/,
15282  2 /*untilMonth*/,
15283  1 /*untilDay*/,
15284  0 /*untilTimeCode (0/15)*/,
15285  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15286  },
15287  // 0 - -00 1994 Nov
15288  {
15289  nullptr /*zonePolicy*/,
15290  "-00" /*format*/,
15291  0 /*offsetCode (0/15)*/,
15292  0 /*offsetRemainder (0%15)*/,
15293  0 /*deltaMinutes*/,
15294  1994 /*untilYear*/,
15295  11 /*untilMonth*/,
15296  1 /*untilDay*/,
15297  0 /*untilTimeCode (0/15)*/,
15298  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15299  },
15300  // 7:00 - %z 2023 Dec 18 2:00
15301  {
15302  nullptr /*zonePolicy*/,
15303  "" /*format*/,
15304  1680 /*offsetCode (25200/15)*/,
15305  0 /*offsetRemainder (25200%15)*/,
15306  0 /*deltaMinutes*/,
15307  2023 /*untilYear*/,
15308  12 /*untilMonth*/,
15309  18 /*untilDay*/,
15310  480 /*untilTimeCode (7200/15)*/,
15311  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15312  },
15313  // 5:00 - %z
15314  {
15315  nullptr /*zonePolicy*/,
15316  "" /*format*/,
15317  1200 /*offsetCode (18000/15)*/,
15318  0 /*offsetRemainder (18000%15)*/,
15319  0 /*deltaMinutes*/,
15320  32767 /*untilYear*/,
15321  1 /*untilMonth*/,
15322  1 /*untilDay*/,
15323  0 /*untilTimeCode (0/15)*/,
15324  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15325  },
15326 
15327 };
15328 
15329 static const char kZoneNameAntarctica_Vostok[] ACE_TIME_PROGMEM = "\x03" "Vostok";
15330 
15331 const complete::ZoneInfo kZoneAntarctica_Vostok ACE_TIME_PROGMEM = {
15332  kZoneNameAntarctica_Vostok /*name*/,
15333  0x4f966fd4 /*zoneId*/,
15334  &kZoneContext /*zoneContext*/,
15335  5 /*numEras*/,
15336  kZoneEraAntarctica_Vostok /*eras*/,
15337  nullptr /*targetInfo*/,
15338 };
15339 
15340 //---------------------------------------------------------------------------
15341 // Zone name: Asia/Almaty
15342 // Eras: 7
15343 //---------------------------------------------------------------------------
15344 
15345 static const complete::ZoneEra kZoneEraAsia_Almaty[] ACE_TIME_PROGMEM = {
15346  // 5:07:48 - LMT 1924 May 2
15347  {
15348  nullptr /*zonePolicy*/,
15349  "LMT" /*format*/,
15350  1231 /*offsetCode (18468/15)*/,
15351  3 /*offsetRemainder (18468%15)*/,
15352  0 /*deltaMinutes*/,
15353  1924 /*untilYear*/,
15354  5 /*untilMonth*/,
15355  2 /*untilDay*/,
15356  0 /*untilTimeCode (0/15)*/,
15357  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15358  },
15359  // 5:00 - %z 1930 Jun 21
15360  {
15361  nullptr /*zonePolicy*/,
15362  "" /*format*/,
15363  1200 /*offsetCode (18000/15)*/,
15364  0 /*offsetRemainder (18000%15)*/,
15365  0 /*deltaMinutes*/,
15366  1930 /*untilYear*/,
15367  6 /*untilMonth*/,
15368  21 /*untilDay*/,
15369  0 /*untilTimeCode (0/15)*/,
15370  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15371  },
15372  // 6:00 RussiaAsia %z 1991 Mar 31 2:00s
15373  {
15374  &kZonePolicyRussiaAsia /*zonePolicy*/,
15375  "" /*format*/,
15376  1440 /*offsetCode (21600/15)*/,
15377  0 /*offsetRemainder (21600%15)*/,
15378  0 /*deltaMinutes*/,
15379  1991 /*untilYear*/,
15380  3 /*untilMonth*/,
15381  31 /*untilDay*/,
15382  480 /*untilTimeCode (7200/15)*/,
15383  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15384  },
15385  // 5:00 RussiaAsia %z 1992 Jan 19 2:00s
15386  {
15387  &kZonePolicyRussiaAsia /*zonePolicy*/,
15388  "" /*format*/,
15389  1200 /*offsetCode (18000/15)*/,
15390  0 /*offsetRemainder (18000%15)*/,
15391  0 /*deltaMinutes*/,
15392  1992 /*untilYear*/,
15393  1 /*untilMonth*/,
15394  19 /*untilDay*/,
15395  480 /*untilTimeCode (7200/15)*/,
15396  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15397  },
15398  // 6:00 RussiaAsia %z 2004 Oct 31 2:00s
15399  {
15400  &kZonePolicyRussiaAsia /*zonePolicy*/,
15401  "" /*format*/,
15402  1440 /*offsetCode (21600/15)*/,
15403  0 /*offsetRemainder (21600%15)*/,
15404  0 /*deltaMinutes*/,
15405  2004 /*untilYear*/,
15406  10 /*untilMonth*/,
15407  31 /*untilDay*/,
15408  480 /*untilTimeCode (7200/15)*/,
15409  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15410  },
15411  // 6:00 - %z 2024 Mar 1 0:00
15412  {
15413  nullptr /*zonePolicy*/,
15414  "" /*format*/,
15415  1440 /*offsetCode (21600/15)*/,
15416  0 /*offsetRemainder (21600%15)*/,
15417  0 /*deltaMinutes*/,
15418  2024 /*untilYear*/,
15419  3 /*untilMonth*/,
15420  1 /*untilDay*/,
15421  0 /*untilTimeCode (0/15)*/,
15422  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15423  },
15424  // 5:00 - %z
15425  {
15426  nullptr /*zonePolicy*/,
15427  "" /*format*/,
15428  1200 /*offsetCode (18000/15)*/,
15429  0 /*offsetRemainder (18000%15)*/,
15430  0 /*deltaMinutes*/,
15431  32767 /*untilYear*/,
15432  1 /*untilMonth*/,
15433  1 /*untilDay*/,
15434  0 /*untilTimeCode (0/15)*/,
15435  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15436  },
15437 
15438 };
15439 
15440 static const char kZoneNameAsia_Almaty[] ACE_TIME_PROGMEM = "\x05" "Almaty";
15441 
15442 const complete::ZoneInfo kZoneAsia_Almaty ACE_TIME_PROGMEM = {
15443  kZoneNameAsia_Almaty /*name*/,
15444  0xa61f41fa /*zoneId*/,
15445  &kZoneContext /*zoneContext*/,
15446  7 /*numEras*/,
15447  kZoneEraAsia_Almaty /*eras*/,
15448  nullptr /*targetInfo*/,
15449 };
15450 
15451 //---------------------------------------------------------------------------
15452 // Zone name: Asia/Amman
15453 // Eras: 3
15454 //---------------------------------------------------------------------------
15455 
15456 static const complete::ZoneEra kZoneEraAsia_Amman[] ACE_TIME_PROGMEM = {
15457  // 2:23:44 - LMT 1931
15458  {
15459  nullptr /*zonePolicy*/,
15460  "LMT" /*format*/,
15461  574 /*offsetCode (8624/15)*/,
15462  14 /*offsetRemainder (8624%15)*/,
15463  0 /*deltaMinutes*/,
15464  1931 /*untilYear*/,
15465  1 /*untilMonth*/,
15466  1 /*untilDay*/,
15467  0 /*untilTimeCode (0/15)*/,
15468  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15469  },
15470  // 2:00 Jordan EE%sT 2022 Oct 28 0:00s
15471  {
15472  &kZonePolicyJordan /*zonePolicy*/,
15473  "EE%T" /*format*/,
15474  480 /*offsetCode (7200/15)*/,
15475  0 /*offsetRemainder (7200%15)*/,
15476  0 /*deltaMinutes*/,
15477  2022 /*untilYear*/,
15478  10 /*untilMonth*/,
15479  28 /*untilDay*/,
15480  0 /*untilTimeCode (0/15)*/,
15481  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15482  },
15483  // 3:00 - %z
15484  {
15485  nullptr /*zonePolicy*/,
15486  "" /*format*/,
15487  720 /*offsetCode (10800/15)*/,
15488  0 /*offsetRemainder (10800%15)*/,
15489  0 /*deltaMinutes*/,
15490  32767 /*untilYear*/,
15491  1 /*untilMonth*/,
15492  1 /*untilDay*/,
15493  0 /*untilTimeCode (0/15)*/,
15494  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15495  },
15496 
15497 };
15498 
15499 static const char kZoneNameAsia_Amman[] ACE_TIME_PROGMEM = "\x05" "Amman";
15500 
15501 const complete::ZoneInfo kZoneAsia_Amman ACE_TIME_PROGMEM = {
15502  kZoneNameAsia_Amman /*name*/,
15503  0x148d21bc /*zoneId*/,
15504  &kZoneContext /*zoneContext*/,
15505  3 /*numEras*/,
15506  kZoneEraAsia_Amman /*eras*/,
15507  nullptr /*targetInfo*/,
15508 };
15509 
15510 //---------------------------------------------------------------------------
15511 // Zone name: Asia/Anadyr
15512 // Eras: 8
15513 //---------------------------------------------------------------------------
15514 
15515 static const complete::ZoneEra kZoneEraAsia_Anadyr[] ACE_TIME_PROGMEM = {
15516  // 11:49:56 - LMT 1924 May 2
15517  {
15518  nullptr /*zonePolicy*/,
15519  "LMT" /*format*/,
15520  2839 /*offsetCode (42596/15)*/,
15521  11 /*offsetRemainder (42596%15)*/,
15522  0 /*deltaMinutes*/,
15523  1924 /*untilYear*/,
15524  5 /*untilMonth*/,
15525  2 /*untilDay*/,
15526  0 /*untilTimeCode (0/15)*/,
15527  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15528  },
15529  // 12:00 - %z 1930 Jun 21
15530  {
15531  nullptr /*zonePolicy*/,
15532  "" /*format*/,
15533  2880 /*offsetCode (43200/15)*/,
15534  0 /*offsetRemainder (43200%15)*/,
15535  0 /*deltaMinutes*/,
15536  1930 /*untilYear*/,
15537  6 /*untilMonth*/,
15538  21 /*untilDay*/,
15539  0 /*untilTimeCode (0/15)*/,
15540  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15541  },
15542  // 13:00 Russia %z 1982 Apr 1 0:00s
15543  {
15544  &kZonePolicyRussia /*zonePolicy*/,
15545  "" /*format*/,
15546  3120 /*offsetCode (46800/15)*/,
15547  0 /*offsetRemainder (46800%15)*/,
15548  0 /*deltaMinutes*/,
15549  1982 /*untilYear*/,
15550  4 /*untilMonth*/,
15551  1 /*untilDay*/,
15552  0 /*untilTimeCode (0/15)*/,
15553  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15554  },
15555  // 12:00 Russia %z 1991 Mar 31 2:00s
15556  {
15557  &kZonePolicyRussia /*zonePolicy*/,
15558  "" /*format*/,
15559  2880 /*offsetCode (43200/15)*/,
15560  0 /*offsetRemainder (43200%15)*/,
15561  0 /*deltaMinutes*/,
15562  1991 /*untilYear*/,
15563  3 /*untilMonth*/,
15564  31 /*untilDay*/,
15565  480 /*untilTimeCode (7200/15)*/,
15566  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15567  },
15568  // 11:00 Russia %z 1992 Jan 19 2:00s
15569  {
15570  &kZonePolicyRussia /*zonePolicy*/,
15571  "" /*format*/,
15572  2640 /*offsetCode (39600/15)*/,
15573  0 /*offsetRemainder (39600%15)*/,
15574  0 /*deltaMinutes*/,
15575  1992 /*untilYear*/,
15576  1 /*untilMonth*/,
15577  19 /*untilDay*/,
15578  480 /*untilTimeCode (7200/15)*/,
15579  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15580  },
15581  // 12:00 Russia %z 2010 Mar 28 2:00s
15582  {
15583  &kZonePolicyRussia /*zonePolicy*/,
15584  "" /*format*/,
15585  2880 /*offsetCode (43200/15)*/,
15586  0 /*offsetRemainder (43200%15)*/,
15587  0 /*deltaMinutes*/,
15588  2010 /*untilYear*/,
15589  3 /*untilMonth*/,
15590  28 /*untilDay*/,
15591  480 /*untilTimeCode (7200/15)*/,
15592  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15593  },
15594  // 11:00 Russia %z 2011 Mar 27 2:00s
15595  {
15596  &kZonePolicyRussia /*zonePolicy*/,
15597  "" /*format*/,
15598  2640 /*offsetCode (39600/15)*/,
15599  0 /*offsetRemainder (39600%15)*/,
15600  0 /*deltaMinutes*/,
15601  2011 /*untilYear*/,
15602  3 /*untilMonth*/,
15603  27 /*untilDay*/,
15604  480 /*untilTimeCode (7200/15)*/,
15605  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15606  },
15607  // 12:00 - %z
15608  {
15609  nullptr /*zonePolicy*/,
15610  "" /*format*/,
15611  2880 /*offsetCode (43200/15)*/,
15612  0 /*offsetRemainder (43200%15)*/,
15613  0 /*deltaMinutes*/,
15614  32767 /*untilYear*/,
15615  1 /*untilMonth*/,
15616  1 /*untilDay*/,
15617  0 /*untilTimeCode (0/15)*/,
15618  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15619  },
15620 
15621 };
15622 
15623 static const char kZoneNameAsia_Anadyr[] ACE_TIME_PROGMEM = "\x05" "Anadyr";
15624 
15625 const complete::ZoneInfo kZoneAsia_Anadyr ACE_TIME_PROGMEM = {
15626  kZoneNameAsia_Anadyr /*name*/,
15627  0xa63cebd1 /*zoneId*/,
15628  &kZoneContext /*zoneContext*/,
15629  8 /*numEras*/,
15630  kZoneEraAsia_Anadyr /*eras*/,
15631  nullptr /*targetInfo*/,
15632 };
15633 
15634 //---------------------------------------------------------------------------
15635 // Zone name: Asia/Aqtau
15636 // Eras: 9
15637 //---------------------------------------------------------------------------
15638 
15639 static const complete::ZoneEra kZoneEraAsia_Aqtau[] ACE_TIME_PROGMEM = {
15640  // 3:21:04 - LMT 1924 May 2
15641  {
15642  nullptr /*zonePolicy*/,
15643  "LMT" /*format*/,
15644  804 /*offsetCode (12064/15)*/,
15645  4 /*offsetRemainder (12064%15)*/,
15646  0 /*deltaMinutes*/,
15647  1924 /*untilYear*/,
15648  5 /*untilMonth*/,
15649  2 /*untilDay*/,
15650  0 /*untilTimeCode (0/15)*/,
15651  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15652  },
15653  // 4:00 - %z 1930 Jun 21
15654  {
15655  nullptr /*zonePolicy*/,
15656  "" /*format*/,
15657  960 /*offsetCode (14400/15)*/,
15658  0 /*offsetRemainder (14400%15)*/,
15659  0 /*deltaMinutes*/,
15660  1930 /*untilYear*/,
15661  6 /*untilMonth*/,
15662  21 /*untilDay*/,
15663  0 /*untilTimeCode (0/15)*/,
15664  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15665  },
15666  // 5:00 - %z 1981 Oct 1
15667  {
15668  nullptr /*zonePolicy*/,
15669  "" /*format*/,
15670  1200 /*offsetCode (18000/15)*/,
15671  0 /*offsetRemainder (18000%15)*/,
15672  0 /*deltaMinutes*/,
15673  1981 /*untilYear*/,
15674  10 /*untilMonth*/,
15675  1 /*untilDay*/,
15676  0 /*untilTimeCode (0/15)*/,
15677  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15678  },
15679  // 6:00 - %z 1982 Apr 1
15680  {
15681  nullptr /*zonePolicy*/,
15682  "" /*format*/,
15683  1440 /*offsetCode (21600/15)*/,
15684  0 /*offsetRemainder (21600%15)*/,
15685  0 /*deltaMinutes*/,
15686  1982 /*untilYear*/,
15687  4 /*untilMonth*/,
15688  1 /*untilDay*/,
15689  0 /*untilTimeCode (0/15)*/,
15690  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15691  },
15692  // 5:00 RussiaAsia %z 1991 Mar 31 2:00s
15693  {
15694  &kZonePolicyRussiaAsia /*zonePolicy*/,
15695  "" /*format*/,
15696  1200 /*offsetCode (18000/15)*/,
15697  0 /*offsetRemainder (18000%15)*/,
15698  0 /*deltaMinutes*/,
15699  1991 /*untilYear*/,
15700  3 /*untilMonth*/,
15701  31 /*untilDay*/,
15702  480 /*untilTimeCode (7200/15)*/,
15703  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15704  },
15705  // 4:00 RussiaAsia %z 1992 Jan 19 2:00s
15706  {
15707  &kZonePolicyRussiaAsia /*zonePolicy*/,
15708  "" /*format*/,
15709  960 /*offsetCode (14400/15)*/,
15710  0 /*offsetRemainder (14400%15)*/,
15711  0 /*deltaMinutes*/,
15712  1992 /*untilYear*/,
15713  1 /*untilMonth*/,
15714  19 /*untilDay*/,
15715  480 /*untilTimeCode (7200/15)*/,
15716  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15717  },
15718  // 5:00 RussiaAsia %z 1994 Sep 25 2:00s
15719  {
15720  &kZonePolicyRussiaAsia /*zonePolicy*/,
15721  "" /*format*/,
15722  1200 /*offsetCode (18000/15)*/,
15723  0 /*offsetRemainder (18000%15)*/,
15724  0 /*deltaMinutes*/,
15725  1994 /*untilYear*/,
15726  9 /*untilMonth*/,
15727  25 /*untilDay*/,
15728  480 /*untilTimeCode (7200/15)*/,
15729  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15730  },
15731  // 4:00 RussiaAsia %z 2004 Oct 31 2:00s
15732  {
15733  &kZonePolicyRussiaAsia /*zonePolicy*/,
15734  "" /*format*/,
15735  960 /*offsetCode (14400/15)*/,
15736  0 /*offsetRemainder (14400%15)*/,
15737  0 /*deltaMinutes*/,
15738  2004 /*untilYear*/,
15739  10 /*untilMonth*/,
15740  31 /*untilDay*/,
15741  480 /*untilTimeCode (7200/15)*/,
15742  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15743  },
15744  // 5:00 - %z
15745  {
15746  nullptr /*zonePolicy*/,
15747  "" /*format*/,
15748  1200 /*offsetCode (18000/15)*/,
15749  0 /*offsetRemainder (18000%15)*/,
15750  0 /*deltaMinutes*/,
15751  32767 /*untilYear*/,
15752  1 /*untilMonth*/,
15753  1 /*untilDay*/,
15754  0 /*untilTimeCode (0/15)*/,
15755  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15756  },
15757 
15758 };
15759 
15760 static const char kZoneNameAsia_Aqtau[] ACE_TIME_PROGMEM = "\x05" "Aqtau";
15761 
15762 const complete::ZoneInfo kZoneAsia_Aqtau ACE_TIME_PROGMEM = {
15763  kZoneNameAsia_Aqtau /*name*/,
15764  0x148f710e /*zoneId*/,
15765  &kZoneContext /*zoneContext*/,
15766  9 /*numEras*/,
15767  kZoneEraAsia_Aqtau /*eras*/,
15768  nullptr /*targetInfo*/,
15769 };
15770 
15771 //---------------------------------------------------------------------------
15772 // Zone name: Asia/Aqtobe
15773 // Eras: 9
15774 //---------------------------------------------------------------------------
15775 
15776 static const complete::ZoneEra kZoneEraAsia_Aqtobe[] ACE_TIME_PROGMEM = {
15777  // 3:48:40 - LMT 1924 May 2
15778  {
15779  nullptr /*zonePolicy*/,
15780  "LMT" /*format*/,
15781  914 /*offsetCode (13720/15)*/,
15782  10 /*offsetRemainder (13720%15)*/,
15783  0 /*deltaMinutes*/,
15784  1924 /*untilYear*/,
15785  5 /*untilMonth*/,
15786  2 /*untilDay*/,
15787  0 /*untilTimeCode (0/15)*/,
15788  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15789  },
15790  // 4:00 - %z 1930 Jun 21
15791  {
15792  nullptr /*zonePolicy*/,
15793  "" /*format*/,
15794  960 /*offsetCode (14400/15)*/,
15795  0 /*offsetRemainder (14400%15)*/,
15796  0 /*deltaMinutes*/,
15797  1930 /*untilYear*/,
15798  6 /*untilMonth*/,
15799  21 /*untilDay*/,
15800  0 /*untilTimeCode (0/15)*/,
15801  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15802  },
15803  // 5:00 - %z 1981 Apr 1
15804  {
15805  nullptr /*zonePolicy*/,
15806  "" /*format*/,
15807  1200 /*offsetCode (18000/15)*/,
15808  0 /*offsetRemainder (18000%15)*/,
15809  0 /*deltaMinutes*/,
15810  1981 /*untilYear*/,
15811  4 /*untilMonth*/,
15812  1 /*untilDay*/,
15813  0 /*untilTimeCode (0/15)*/,
15814  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15815  },
15816  // 5:00 1:00 %z 1981 Oct 1
15817  {
15818  nullptr /*zonePolicy*/,
15819  "" /*format*/,
15820  1200 /*offsetCode (18000/15)*/,
15821  0 /*offsetRemainder (18000%15)*/,
15822  60 /*deltaMinutes*/,
15823  1981 /*untilYear*/,
15824  10 /*untilMonth*/,
15825  1 /*untilDay*/,
15826  0 /*untilTimeCode (0/15)*/,
15827  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15828  },
15829  // 6:00 - %z 1982 Apr 1
15830  {
15831  nullptr /*zonePolicy*/,
15832  "" /*format*/,
15833  1440 /*offsetCode (21600/15)*/,
15834  0 /*offsetRemainder (21600%15)*/,
15835  0 /*deltaMinutes*/,
15836  1982 /*untilYear*/,
15837  4 /*untilMonth*/,
15838  1 /*untilDay*/,
15839  0 /*untilTimeCode (0/15)*/,
15840  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15841  },
15842  // 5:00 RussiaAsia %z 1991 Mar 31 2:00s
15843  {
15844  &kZonePolicyRussiaAsia /*zonePolicy*/,
15845  "" /*format*/,
15846  1200 /*offsetCode (18000/15)*/,
15847  0 /*offsetRemainder (18000%15)*/,
15848  0 /*deltaMinutes*/,
15849  1991 /*untilYear*/,
15850  3 /*untilMonth*/,
15851  31 /*untilDay*/,
15852  480 /*untilTimeCode (7200/15)*/,
15853  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15854  },
15855  // 4:00 RussiaAsia %z 1992 Jan 19 2:00s
15856  {
15857  &kZonePolicyRussiaAsia /*zonePolicy*/,
15858  "" /*format*/,
15859  960 /*offsetCode (14400/15)*/,
15860  0 /*offsetRemainder (14400%15)*/,
15861  0 /*deltaMinutes*/,
15862  1992 /*untilYear*/,
15863  1 /*untilMonth*/,
15864  19 /*untilDay*/,
15865  480 /*untilTimeCode (7200/15)*/,
15866  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15867  },
15868  // 5:00 RussiaAsia %z 2004 Oct 31 2:00s
15869  {
15870  &kZonePolicyRussiaAsia /*zonePolicy*/,
15871  "" /*format*/,
15872  1200 /*offsetCode (18000/15)*/,
15873  0 /*offsetRemainder (18000%15)*/,
15874  0 /*deltaMinutes*/,
15875  2004 /*untilYear*/,
15876  10 /*untilMonth*/,
15877  31 /*untilDay*/,
15878  480 /*untilTimeCode (7200/15)*/,
15879  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
15880  },
15881  // 5:00 - %z
15882  {
15883  nullptr /*zonePolicy*/,
15884  "" /*format*/,
15885  1200 /*offsetCode (18000/15)*/,
15886  0 /*offsetRemainder (18000%15)*/,
15887  0 /*deltaMinutes*/,
15888  32767 /*untilYear*/,
15889  1 /*untilMonth*/,
15890  1 /*untilDay*/,
15891  0 /*untilTimeCode (0/15)*/,
15892  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15893  },
15894 
15895 };
15896 
15897 static const char kZoneNameAsia_Aqtobe[] ACE_TIME_PROGMEM = "\x05" "Aqtobe";
15898 
15899 const complete::ZoneInfo kZoneAsia_Aqtobe ACE_TIME_PROGMEM = {
15900  kZoneNameAsia_Aqtobe /*name*/,
15901  0xa67dcc4e /*zoneId*/,
15902  &kZoneContext /*zoneContext*/,
15903  9 /*numEras*/,
15904  kZoneEraAsia_Aqtobe /*eras*/,
15905  nullptr /*targetInfo*/,
15906 };
15907 
15908 //---------------------------------------------------------------------------
15909 // Zone name: Asia/Ashgabat
15910 // Eras: 5
15911 //---------------------------------------------------------------------------
15912 
15913 static const complete::ZoneEra kZoneEraAsia_Ashgabat[] ACE_TIME_PROGMEM = {
15914  // 3:53:32 - LMT 1924 May 2
15915  {
15916  nullptr /*zonePolicy*/,
15917  "LMT" /*format*/,
15918  934 /*offsetCode (14012/15)*/,
15919  2 /*offsetRemainder (14012%15)*/,
15920  0 /*deltaMinutes*/,
15921  1924 /*untilYear*/,
15922  5 /*untilMonth*/,
15923  2 /*untilDay*/,
15924  0 /*untilTimeCode (0/15)*/,
15925  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15926  },
15927  // 4:00 - %z 1930 Jun 21
15928  {
15929  nullptr /*zonePolicy*/,
15930  "" /*format*/,
15931  960 /*offsetCode (14400/15)*/,
15932  0 /*offsetRemainder (14400%15)*/,
15933  0 /*deltaMinutes*/,
15934  1930 /*untilYear*/,
15935  6 /*untilMonth*/,
15936  21 /*untilDay*/,
15937  0 /*untilTimeCode (0/15)*/,
15938  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15939  },
15940  // 5:00 RussiaAsia %z 1991 Mar 31 2:00
15941  {
15942  &kZonePolicyRussiaAsia /*zonePolicy*/,
15943  "" /*format*/,
15944  1200 /*offsetCode (18000/15)*/,
15945  0 /*offsetRemainder (18000%15)*/,
15946  0 /*deltaMinutes*/,
15947  1991 /*untilYear*/,
15948  3 /*untilMonth*/,
15949  31 /*untilDay*/,
15950  480 /*untilTimeCode (7200/15)*/,
15951  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15952  },
15953  // 4:00 RussiaAsia %z 1992 Jan 19 2:00
15954  {
15955  &kZonePolicyRussiaAsia /*zonePolicy*/,
15956  "" /*format*/,
15957  960 /*offsetCode (14400/15)*/,
15958  0 /*offsetRemainder (14400%15)*/,
15959  0 /*deltaMinutes*/,
15960  1992 /*untilYear*/,
15961  1 /*untilMonth*/,
15962  19 /*untilDay*/,
15963  480 /*untilTimeCode (7200/15)*/,
15964  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15965  },
15966  // 5:00 - %z
15967  {
15968  nullptr /*zonePolicy*/,
15969  "" /*format*/,
15970  1200 /*offsetCode (18000/15)*/,
15971  0 /*offsetRemainder (18000%15)*/,
15972  0 /*deltaMinutes*/,
15973  32767 /*untilYear*/,
15974  1 /*untilMonth*/,
15975  1 /*untilDay*/,
15976  0 /*untilTimeCode (0/15)*/,
15977  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
15978  },
15979 
15980 };
15981 
15982 static const char kZoneNameAsia_Ashgabat[] ACE_TIME_PROGMEM = "\x05" "Ashgabat";
15983 
15984 const complete::ZoneInfo kZoneAsia_Ashgabat ACE_TIME_PROGMEM = {
15985  kZoneNameAsia_Ashgabat /*name*/,
15986  0xba87598d /*zoneId*/,
15987  &kZoneContext /*zoneContext*/,
15988  5 /*numEras*/,
15989  kZoneEraAsia_Ashgabat /*eras*/,
15990  nullptr /*targetInfo*/,
15991 };
15992 
15993 //---------------------------------------------------------------------------
15994 // Zone name: Asia/Atyrau
15995 // Eras: 9
15996 //---------------------------------------------------------------------------
15997 
15998 static const complete::ZoneEra kZoneEraAsia_Atyrau[] ACE_TIME_PROGMEM = {
15999  // 3:27:44 - LMT 1924 May 2
16000  {
16001  nullptr /*zonePolicy*/,
16002  "LMT" /*format*/,
16003  830 /*offsetCode (12464/15)*/,
16004  14 /*offsetRemainder (12464%15)*/,
16005  0 /*deltaMinutes*/,
16006  1924 /*untilYear*/,
16007  5 /*untilMonth*/,
16008  2 /*untilDay*/,
16009  0 /*untilTimeCode (0/15)*/,
16010  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16011  },
16012  // 3:00 - %z 1930 Jun 21
16013  {
16014  nullptr /*zonePolicy*/,
16015  "" /*format*/,
16016  720 /*offsetCode (10800/15)*/,
16017  0 /*offsetRemainder (10800%15)*/,
16018  0 /*deltaMinutes*/,
16019  1930 /*untilYear*/,
16020  6 /*untilMonth*/,
16021  21 /*untilDay*/,
16022  0 /*untilTimeCode (0/15)*/,
16023  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16024  },
16025  // 5:00 - %z 1981 Oct 1
16026  {
16027  nullptr /*zonePolicy*/,
16028  "" /*format*/,
16029  1200 /*offsetCode (18000/15)*/,
16030  0 /*offsetRemainder (18000%15)*/,
16031  0 /*deltaMinutes*/,
16032  1981 /*untilYear*/,
16033  10 /*untilMonth*/,
16034  1 /*untilDay*/,
16035  0 /*untilTimeCode (0/15)*/,
16036  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16037  },
16038  // 6:00 - %z 1982 Apr 1
16039  {
16040  nullptr /*zonePolicy*/,
16041  "" /*format*/,
16042  1440 /*offsetCode (21600/15)*/,
16043  0 /*offsetRemainder (21600%15)*/,
16044  0 /*deltaMinutes*/,
16045  1982 /*untilYear*/,
16046  4 /*untilMonth*/,
16047  1 /*untilDay*/,
16048  0 /*untilTimeCode (0/15)*/,
16049  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16050  },
16051  // 5:00 RussiaAsia %z 1991 Mar 31 2:00s
16052  {
16053  &kZonePolicyRussiaAsia /*zonePolicy*/,
16054  "" /*format*/,
16055  1200 /*offsetCode (18000/15)*/,
16056  0 /*offsetRemainder (18000%15)*/,
16057  0 /*deltaMinutes*/,
16058  1991 /*untilYear*/,
16059  3 /*untilMonth*/,
16060  31 /*untilDay*/,
16061  480 /*untilTimeCode (7200/15)*/,
16062  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16063  },
16064  // 4:00 RussiaAsia %z 1992 Jan 19 2:00s
16065  {
16066  &kZonePolicyRussiaAsia /*zonePolicy*/,
16067  "" /*format*/,
16068  960 /*offsetCode (14400/15)*/,
16069  0 /*offsetRemainder (14400%15)*/,
16070  0 /*deltaMinutes*/,
16071  1992 /*untilYear*/,
16072  1 /*untilMonth*/,
16073  19 /*untilDay*/,
16074  480 /*untilTimeCode (7200/15)*/,
16075  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16076  },
16077  // 5:00 RussiaAsia %z 1999 Mar 28 2:00s
16078  {
16079  &kZonePolicyRussiaAsia /*zonePolicy*/,
16080  "" /*format*/,
16081  1200 /*offsetCode (18000/15)*/,
16082  0 /*offsetRemainder (18000%15)*/,
16083  0 /*deltaMinutes*/,
16084  1999 /*untilYear*/,
16085  3 /*untilMonth*/,
16086  28 /*untilDay*/,
16087  480 /*untilTimeCode (7200/15)*/,
16088  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16089  },
16090  // 4:00 RussiaAsia %z 2004 Oct 31 2:00s
16091  {
16092  &kZonePolicyRussiaAsia /*zonePolicy*/,
16093  "" /*format*/,
16094  960 /*offsetCode (14400/15)*/,
16095  0 /*offsetRemainder (14400%15)*/,
16096  0 /*deltaMinutes*/,
16097  2004 /*untilYear*/,
16098  10 /*untilMonth*/,
16099  31 /*untilDay*/,
16100  480 /*untilTimeCode (7200/15)*/,
16101  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16102  },
16103  // 5:00 - %z
16104  {
16105  nullptr /*zonePolicy*/,
16106  "" /*format*/,
16107  1200 /*offsetCode (18000/15)*/,
16108  0 /*offsetRemainder (18000%15)*/,
16109  0 /*deltaMinutes*/,
16110  32767 /*untilYear*/,
16111  1 /*untilMonth*/,
16112  1 /*untilDay*/,
16113  0 /*untilTimeCode (0/15)*/,
16114  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16115  },
16116 
16117 };
16118 
16119 static const char kZoneNameAsia_Atyrau[] ACE_TIME_PROGMEM = "\x05" "Atyrau";
16120 
16121 const complete::ZoneInfo kZoneAsia_Atyrau ACE_TIME_PROGMEM = {
16122  kZoneNameAsia_Atyrau /*name*/,
16123  0xa6b6e068 /*zoneId*/,
16124  &kZoneContext /*zoneContext*/,
16125  9 /*numEras*/,
16126  kZoneEraAsia_Atyrau /*eras*/,
16127  nullptr /*targetInfo*/,
16128 };
16129 
16130 //---------------------------------------------------------------------------
16131 // Zone name: Asia/Baghdad
16132 // Eras: 4
16133 //---------------------------------------------------------------------------
16134 
16135 static const complete::ZoneEra kZoneEraAsia_Baghdad[] ACE_TIME_PROGMEM = {
16136  // 2:57:40 - LMT 1890
16137  {
16138  nullptr /*zonePolicy*/,
16139  "LMT" /*format*/,
16140  710 /*offsetCode (10660/15)*/,
16141  10 /*offsetRemainder (10660%15)*/,
16142  0 /*deltaMinutes*/,
16143  1890 /*untilYear*/,
16144  1 /*untilMonth*/,
16145  1 /*untilDay*/,
16146  0 /*untilTimeCode (0/15)*/,
16147  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16148  },
16149  // 2:57:36 - BMT 1918
16150  {
16151  nullptr /*zonePolicy*/,
16152  "BMT" /*format*/,
16153  710 /*offsetCode (10656/15)*/,
16154  6 /*offsetRemainder (10656%15)*/,
16155  0 /*deltaMinutes*/,
16156  1918 /*untilYear*/,
16157  1 /*untilMonth*/,
16158  1 /*untilDay*/,
16159  0 /*untilTimeCode (0/15)*/,
16160  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16161  },
16162  // 3:00 - %z 1982 May
16163  {
16164  nullptr /*zonePolicy*/,
16165  "" /*format*/,
16166  720 /*offsetCode (10800/15)*/,
16167  0 /*offsetRemainder (10800%15)*/,
16168  0 /*deltaMinutes*/,
16169  1982 /*untilYear*/,
16170  5 /*untilMonth*/,
16171  1 /*untilDay*/,
16172  0 /*untilTimeCode (0/15)*/,
16173  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16174  },
16175  // 3:00 Iraq %z
16176  {
16177  &kZonePolicyIraq /*zonePolicy*/,
16178  "" /*format*/,
16179  720 /*offsetCode (10800/15)*/,
16180  0 /*offsetRemainder (10800%15)*/,
16181  0 /*deltaMinutes*/,
16182  32767 /*untilYear*/,
16183  1 /*untilMonth*/,
16184  1 /*untilDay*/,
16185  0 /*untilTimeCode (0/15)*/,
16186  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16187  },
16188 
16189 };
16190 
16191 static const char kZoneNameAsia_Baghdad[] ACE_TIME_PROGMEM = "\x05" "Baghdad";
16192 
16193 const complete::ZoneInfo kZoneAsia_Baghdad ACE_TIME_PROGMEM = {
16194  kZoneNameAsia_Baghdad /*name*/,
16195  0x9ceffbed /*zoneId*/,
16196  &kZoneContext /*zoneContext*/,
16197  4 /*numEras*/,
16198  kZoneEraAsia_Baghdad /*eras*/,
16199  nullptr /*targetInfo*/,
16200 };
16201 
16202 //---------------------------------------------------------------------------
16203 // Zone name: Asia/Baku
16204 // Eras: 7
16205 //---------------------------------------------------------------------------
16206 
16207 static const complete::ZoneEra kZoneEraAsia_Baku[] ACE_TIME_PROGMEM = {
16208  // 3:19:24 - LMT 1924 May 2
16209  {
16210  nullptr /*zonePolicy*/,
16211  "LMT" /*format*/,
16212  797 /*offsetCode (11964/15)*/,
16213  9 /*offsetRemainder (11964%15)*/,
16214  0 /*deltaMinutes*/,
16215  1924 /*untilYear*/,
16216  5 /*untilMonth*/,
16217  2 /*untilDay*/,
16218  0 /*untilTimeCode (0/15)*/,
16219  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16220  },
16221  // 3:00 - %z 1957 Mar
16222  {
16223  nullptr /*zonePolicy*/,
16224  "" /*format*/,
16225  720 /*offsetCode (10800/15)*/,
16226  0 /*offsetRemainder (10800%15)*/,
16227  0 /*deltaMinutes*/,
16228  1957 /*untilYear*/,
16229  3 /*untilMonth*/,
16230  1 /*untilDay*/,
16231  0 /*untilTimeCode (0/15)*/,
16232  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16233  },
16234  // 4:00 RussiaAsia %z 1991 Mar 31 2:00s
16235  {
16236  &kZonePolicyRussiaAsia /*zonePolicy*/,
16237  "" /*format*/,
16238  960 /*offsetCode (14400/15)*/,
16239  0 /*offsetRemainder (14400%15)*/,
16240  0 /*deltaMinutes*/,
16241  1991 /*untilYear*/,
16242  3 /*untilMonth*/,
16243  31 /*untilDay*/,
16244  480 /*untilTimeCode (7200/15)*/,
16245  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16246  },
16247  // 3:00 RussiaAsia %z 1992 Sep lastSun 2:00s
16248  {
16249  &kZonePolicyRussiaAsia /*zonePolicy*/,
16250  "" /*format*/,
16251  720 /*offsetCode (10800/15)*/,
16252  0 /*offsetRemainder (10800%15)*/,
16253  0 /*deltaMinutes*/,
16254  1992 /*untilYear*/,
16255  9 /*untilMonth*/,
16256  27 /*untilDay*/,
16257  480 /*untilTimeCode (7200/15)*/,
16258  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16259  },
16260  // 4:00 - %z 1996
16261  {
16262  nullptr /*zonePolicy*/,
16263  "" /*format*/,
16264  960 /*offsetCode (14400/15)*/,
16265  0 /*offsetRemainder (14400%15)*/,
16266  0 /*deltaMinutes*/,
16267  1996 /*untilYear*/,
16268  1 /*untilMonth*/,
16269  1 /*untilDay*/,
16270  0 /*untilTimeCode (0/15)*/,
16271  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16272  },
16273  // 4:00 EUAsia %z 1997
16274  {
16275  &kZonePolicyEUAsia /*zonePolicy*/,
16276  "" /*format*/,
16277  960 /*offsetCode (14400/15)*/,
16278  0 /*offsetRemainder (14400%15)*/,
16279  0 /*deltaMinutes*/,
16280  1997 /*untilYear*/,
16281  1 /*untilMonth*/,
16282  1 /*untilDay*/,
16283  0 /*untilTimeCode (0/15)*/,
16284  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16285  },
16286  // 4:00 Azer %z
16287  {
16288  &kZonePolicyAzer /*zonePolicy*/,
16289  "" /*format*/,
16290  960 /*offsetCode (14400/15)*/,
16291  0 /*offsetRemainder (14400%15)*/,
16292  0 /*deltaMinutes*/,
16293  32767 /*untilYear*/,
16294  1 /*untilMonth*/,
16295  1 /*untilDay*/,
16296  0 /*untilTimeCode (0/15)*/,
16297  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16298  },
16299 
16300 };
16301 
16302 static const char kZoneNameAsia_Baku[] ACE_TIME_PROGMEM = "\x05" "Baku";
16303 
16304 const complete::ZoneInfo kZoneAsia_Baku ACE_TIME_PROGMEM = {
16305  kZoneNameAsia_Baku /*name*/,
16306  0x1fa788b5 /*zoneId*/,
16307  &kZoneContext /*zoneContext*/,
16308  7 /*numEras*/,
16309  kZoneEraAsia_Baku /*eras*/,
16310  nullptr /*targetInfo*/,
16311 };
16312 
16313 //---------------------------------------------------------------------------
16314 // Zone name: Asia/Bangkok
16315 // Eras: 3
16316 //---------------------------------------------------------------------------
16317 
16318 static const complete::ZoneEra kZoneEraAsia_Bangkok[] ACE_TIME_PROGMEM = {
16319  // 6:42:04 - LMT 1880
16320  {
16321  nullptr /*zonePolicy*/,
16322  "LMT" /*format*/,
16323  1608 /*offsetCode (24124/15)*/,
16324  4 /*offsetRemainder (24124%15)*/,
16325  0 /*deltaMinutes*/,
16326  1880 /*untilYear*/,
16327  1 /*untilMonth*/,
16328  1 /*untilDay*/,
16329  0 /*untilTimeCode (0/15)*/,
16330  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16331  },
16332  // 6:42:04 - BMT 1920 Apr
16333  {
16334  nullptr /*zonePolicy*/,
16335  "BMT" /*format*/,
16336  1608 /*offsetCode (24124/15)*/,
16337  4 /*offsetRemainder (24124%15)*/,
16338  0 /*deltaMinutes*/,
16339  1920 /*untilYear*/,
16340  4 /*untilMonth*/,
16341  1 /*untilDay*/,
16342  0 /*untilTimeCode (0/15)*/,
16343  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16344  },
16345  // 7:00 - %z
16346  {
16347  nullptr /*zonePolicy*/,
16348  "" /*format*/,
16349  1680 /*offsetCode (25200/15)*/,
16350  0 /*offsetRemainder (25200%15)*/,
16351  0 /*deltaMinutes*/,
16352  32767 /*untilYear*/,
16353  1 /*untilMonth*/,
16354  1 /*untilDay*/,
16355  0 /*untilTimeCode (0/15)*/,
16356  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16357  },
16358 
16359 };
16360 
16361 static const char kZoneNameAsia_Bangkok[] ACE_TIME_PROGMEM = "\x05" "Bangkok";
16362 
16363 const complete::ZoneInfo kZoneAsia_Bangkok ACE_TIME_PROGMEM = {
16364  kZoneNameAsia_Bangkok /*name*/,
16365  0x9d6e3aaf /*zoneId*/,
16366  &kZoneContext /*zoneContext*/,
16367  3 /*numEras*/,
16368  kZoneEraAsia_Bangkok /*eras*/,
16369  nullptr /*targetInfo*/,
16370 };
16371 
16372 //---------------------------------------------------------------------------
16373 // Zone name: Asia/Barnaul
16374 // Eras: 9
16375 //---------------------------------------------------------------------------
16376 
16377 static const complete::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = {
16378  // 5:35:00 - LMT 1919 Dec 10
16379  {
16380  nullptr /*zonePolicy*/,
16381  "LMT" /*format*/,
16382  1340 /*offsetCode (20100/15)*/,
16383  0 /*offsetRemainder (20100%15)*/,
16384  0 /*deltaMinutes*/,
16385  1919 /*untilYear*/,
16386  12 /*untilMonth*/,
16387  10 /*untilDay*/,
16388  0 /*untilTimeCode (0/15)*/,
16389  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16390  },
16391  // 6:00 - %z 1930 Jun 21
16392  {
16393  nullptr /*zonePolicy*/,
16394  "" /*format*/,
16395  1440 /*offsetCode (21600/15)*/,
16396  0 /*offsetRemainder (21600%15)*/,
16397  0 /*deltaMinutes*/,
16398  1930 /*untilYear*/,
16399  6 /*untilMonth*/,
16400  21 /*untilDay*/,
16401  0 /*untilTimeCode (0/15)*/,
16402  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16403  },
16404  // 7:00 Russia %z 1991 Mar 31 2:00s
16405  {
16406  &kZonePolicyRussia /*zonePolicy*/,
16407  "" /*format*/,
16408  1680 /*offsetCode (25200/15)*/,
16409  0 /*offsetRemainder (25200%15)*/,
16410  0 /*deltaMinutes*/,
16411  1991 /*untilYear*/,
16412  3 /*untilMonth*/,
16413  31 /*untilDay*/,
16414  480 /*untilTimeCode (7200/15)*/,
16415  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16416  },
16417  // 6:00 Russia %z 1992 Jan 19 2:00s
16418  {
16419  &kZonePolicyRussia /*zonePolicy*/,
16420  "" /*format*/,
16421  1440 /*offsetCode (21600/15)*/,
16422  0 /*offsetRemainder (21600%15)*/,
16423  0 /*deltaMinutes*/,
16424  1992 /*untilYear*/,
16425  1 /*untilMonth*/,
16426  19 /*untilDay*/,
16427  480 /*untilTimeCode (7200/15)*/,
16428  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16429  },
16430  // 7:00 Russia %z 1995 May 28
16431  {
16432  &kZonePolicyRussia /*zonePolicy*/,
16433  "" /*format*/,
16434  1680 /*offsetCode (25200/15)*/,
16435  0 /*offsetRemainder (25200%15)*/,
16436  0 /*deltaMinutes*/,
16437  1995 /*untilYear*/,
16438  5 /*untilMonth*/,
16439  28 /*untilDay*/,
16440  0 /*untilTimeCode (0/15)*/,
16441  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16442  },
16443  // 6:00 Russia %z 2011 Mar 27 2:00s
16444  {
16445  &kZonePolicyRussia /*zonePolicy*/,
16446  "" /*format*/,
16447  1440 /*offsetCode (21600/15)*/,
16448  0 /*offsetRemainder (21600%15)*/,
16449  0 /*deltaMinutes*/,
16450  2011 /*untilYear*/,
16451  3 /*untilMonth*/,
16452  27 /*untilDay*/,
16453  480 /*untilTimeCode (7200/15)*/,
16454  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16455  },
16456  // 7:00 - %z 2014 Oct 26 2:00s
16457  {
16458  nullptr /*zonePolicy*/,
16459  "" /*format*/,
16460  1680 /*offsetCode (25200/15)*/,
16461  0 /*offsetRemainder (25200%15)*/,
16462  0 /*deltaMinutes*/,
16463  2014 /*untilYear*/,
16464  10 /*untilMonth*/,
16465  26 /*untilDay*/,
16466  480 /*untilTimeCode (7200/15)*/,
16467  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16468  },
16469  // 6:00 - %z 2016 Mar 27 2:00s
16470  {
16471  nullptr /*zonePolicy*/,
16472  "" /*format*/,
16473  1440 /*offsetCode (21600/15)*/,
16474  0 /*offsetRemainder (21600%15)*/,
16475  0 /*deltaMinutes*/,
16476  2016 /*untilYear*/,
16477  3 /*untilMonth*/,
16478  27 /*untilDay*/,
16479  480 /*untilTimeCode (7200/15)*/,
16480  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16481  },
16482  // 7:00 - %z
16483  {
16484  nullptr /*zonePolicy*/,
16485  "" /*format*/,
16486  1680 /*offsetCode (25200/15)*/,
16487  0 /*offsetRemainder (25200%15)*/,
16488  0 /*deltaMinutes*/,
16489  32767 /*untilYear*/,
16490  1 /*untilMonth*/,
16491  1 /*untilDay*/,
16492  0 /*untilTimeCode (0/15)*/,
16493  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16494  },
16495 
16496 };
16497 
16498 static const char kZoneNameAsia_Barnaul[] ACE_TIME_PROGMEM = "\x05" "Barnaul";
16499 
16500 const complete::ZoneInfo kZoneAsia_Barnaul ACE_TIME_PROGMEM = {
16501  kZoneNameAsia_Barnaul /*name*/,
16502  0x9dba4997 /*zoneId*/,
16503  &kZoneContext /*zoneContext*/,
16504  9 /*numEras*/,
16505  kZoneEraAsia_Barnaul /*eras*/,
16506  nullptr /*targetInfo*/,
16507 };
16508 
16509 //---------------------------------------------------------------------------
16510 // Zone name: Asia/Beirut
16511 // Eras: 2
16512 //---------------------------------------------------------------------------
16513 
16514 static const complete::ZoneEra kZoneEraAsia_Beirut[] ACE_TIME_PROGMEM = {
16515  // 2:22:00 - LMT 1880
16516  {
16517  nullptr /*zonePolicy*/,
16518  "LMT" /*format*/,
16519  568 /*offsetCode (8520/15)*/,
16520  0 /*offsetRemainder (8520%15)*/,
16521  0 /*deltaMinutes*/,
16522  1880 /*untilYear*/,
16523  1 /*untilMonth*/,
16524  1 /*untilDay*/,
16525  0 /*untilTimeCode (0/15)*/,
16526  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16527  },
16528  // 2:00 Lebanon EE%sT
16529  {
16530  &kZonePolicyLebanon /*zonePolicy*/,
16531  "EE%T" /*format*/,
16532  480 /*offsetCode (7200/15)*/,
16533  0 /*offsetRemainder (7200%15)*/,
16534  0 /*deltaMinutes*/,
16535  32767 /*untilYear*/,
16536  1 /*untilMonth*/,
16537  1 /*untilDay*/,
16538  0 /*untilTimeCode (0/15)*/,
16539  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16540  },
16541 
16542 };
16543 
16544 static const char kZoneNameAsia_Beirut[] ACE_TIME_PROGMEM = "\x05" "Beirut";
16545 
16546 const complete::ZoneInfo kZoneAsia_Beirut ACE_TIME_PROGMEM = {
16547  kZoneNameAsia_Beirut /*name*/,
16548  0xa7f3d5fd /*zoneId*/,
16549  &kZoneContext /*zoneContext*/,
16550  2 /*numEras*/,
16551  kZoneEraAsia_Beirut /*eras*/,
16552  nullptr /*targetInfo*/,
16553 };
16554 
16555 //---------------------------------------------------------------------------
16556 // Zone name: Asia/Bishkek
16557 // Eras: 6
16558 //---------------------------------------------------------------------------
16559 
16560 static const complete::ZoneEra kZoneEraAsia_Bishkek[] ACE_TIME_PROGMEM = {
16561  // 4:58:24 - LMT 1924 May 2
16562  {
16563  nullptr /*zonePolicy*/,
16564  "LMT" /*format*/,
16565  1193 /*offsetCode (17904/15)*/,
16566  9 /*offsetRemainder (17904%15)*/,
16567  0 /*deltaMinutes*/,
16568  1924 /*untilYear*/,
16569  5 /*untilMonth*/,
16570  2 /*untilDay*/,
16571  0 /*untilTimeCode (0/15)*/,
16572  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16573  },
16574  // 5:00 - %z 1930 Jun 21
16575  {
16576  nullptr /*zonePolicy*/,
16577  "" /*format*/,
16578  1200 /*offsetCode (18000/15)*/,
16579  0 /*offsetRemainder (18000%15)*/,
16580  0 /*deltaMinutes*/,
16581  1930 /*untilYear*/,
16582  6 /*untilMonth*/,
16583  21 /*untilDay*/,
16584  0 /*untilTimeCode (0/15)*/,
16585  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16586  },
16587  // 6:00 RussiaAsia %z 1991 Mar 31 2:00s
16588  {
16589  &kZonePolicyRussiaAsia /*zonePolicy*/,
16590  "" /*format*/,
16591  1440 /*offsetCode (21600/15)*/,
16592  0 /*offsetRemainder (21600%15)*/,
16593  0 /*deltaMinutes*/,
16594  1991 /*untilYear*/,
16595  3 /*untilMonth*/,
16596  31 /*untilDay*/,
16597  480 /*untilTimeCode (7200/15)*/,
16598  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16599  },
16600  // 5:00 RussiaAsia %z 1991 Aug 31 2:00
16601  {
16602  &kZonePolicyRussiaAsia /*zonePolicy*/,
16603  "" /*format*/,
16604  1200 /*offsetCode (18000/15)*/,
16605  0 /*offsetRemainder (18000%15)*/,
16606  0 /*deltaMinutes*/,
16607  1991 /*untilYear*/,
16608  8 /*untilMonth*/,
16609  31 /*untilDay*/,
16610  480 /*untilTimeCode (7200/15)*/,
16611  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16612  },
16613  // 5:00 Kyrgyz %z 2005 Aug 12
16614  {
16615  &kZonePolicyKyrgyz /*zonePolicy*/,
16616  "" /*format*/,
16617  1200 /*offsetCode (18000/15)*/,
16618  0 /*offsetRemainder (18000%15)*/,
16619  0 /*deltaMinutes*/,
16620  2005 /*untilYear*/,
16621  8 /*untilMonth*/,
16622  12 /*untilDay*/,
16623  0 /*untilTimeCode (0/15)*/,
16624  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16625  },
16626  // 6:00 - %z
16627  {
16628  nullptr /*zonePolicy*/,
16629  "" /*format*/,
16630  1440 /*offsetCode (21600/15)*/,
16631  0 /*offsetRemainder (21600%15)*/,
16632  0 /*deltaMinutes*/,
16633  32767 /*untilYear*/,
16634  1 /*untilMonth*/,
16635  1 /*untilDay*/,
16636  0 /*untilTimeCode (0/15)*/,
16637  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16638  },
16639 
16640 };
16641 
16642 static const char kZoneNameAsia_Bishkek[] ACE_TIME_PROGMEM = "\x05" "Bishkek";
16643 
16644 const complete::ZoneInfo kZoneAsia_Bishkek ACE_TIME_PROGMEM = {
16645  kZoneNameAsia_Bishkek /*name*/,
16646  0xb0728553 /*zoneId*/,
16647  &kZoneContext /*zoneContext*/,
16648  6 /*numEras*/,
16649  kZoneEraAsia_Bishkek /*eras*/,
16650  nullptr /*targetInfo*/,
16651 };
16652 
16653 //---------------------------------------------------------------------------
16654 // Zone name: Asia/Chita
16655 // Eras: 8
16656 //---------------------------------------------------------------------------
16657 
16658 static const complete::ZoneEra kZoneEraAsia_Chita[] ACE_TIME_PROGMEM = {
16659  // 7:33:52 - LMT 1919 Dec 15
16660  {
16661  nullptr /*zonePolicy*/,
16662  "LMT" /*format*/,
16663  1815 /*offsetCode (27232/15)*/,
16664  7 /*offsetRemainder (27232%15)*/,
16665  0 /*deltaMinutes*/,
16666  1919 /*untilYear*/,
16667  12 /*untilMonth*/,
16668  15 /*untilDay*/,
16669  0 /*untilTimeCode (0/15)*/,
16670  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16671  },
16672  // 8:00 - %z 1930 Jun 21
16673  {
16674  nullptr /*zonePolicy*/,
16675  "" /*format*/,
16676  1920 /*offsetCode (28800/15)*/,
16677  0 /*offsetRemainder (28800%15)*/,
16678  0 /*deltaMinutes*/,
16679  1930 /*untilYear*/,
16680  6 /*untilMonth*/,
16681  21 /*untilDay*/,
16682  0 /*untilTimeCode (0/15)*/,
16683  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16684  },
16685  // 9:00 Russia %z 1991 Mar 31 2:00s
16686  {
16687  &kZonePolicyRussia /*zonePolicy*/,
16688  "" /*format*/,
16689  2160 /*offsetCode (32400/15)*/,
16690  0 /*offsetRemainder (32400%15)*/,
16691  0 /*deltaMinutes*/,
16692  1991 /*untilYear*/,
16693  3 /*untilMonth*/,
16694  31 /*untilDay*/,
16695  480 /*untilTimeCode (7200/15)*/,
16696  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16697  },
16698  // 8:00 Russia %z 1992 Jan 19 2:00s
16699  {
16700  &kZonePolicyRussia /*zonePolicy*/,
16701  "" /*format*/,
16702  1920 /*offsetCode (28800/15)*/,
16703  0 /*offsetRemainder (28800%15)*/,
16704  0 /*deltaMinutes*/,
16705  1992 /*untilYear*/,
16706  1 /*untilMonth*/,
16707  19 /*untilDay*/,
16708  480 /*untilTimeCode (7200/15)*/,
16709  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16710  },
16711  // 9:00 Russia %z 2011 Mar 27 2:00s
16712  {
16713  &kZonePolicyRussia /*zonePolicy*/,
16714  "" /*format*/,
16715  2160 /*offsetCode (32400/15)*/,
16716  0 /*offsetRemainder (32400%15)*/,
16717  0 /*deltaMinutes*/,
16718  2011 /*untilYear*/,
16719  3 /*untilMonth*/,
16720  27 /*untilDay*/,
16721  480 /*untilTimeCode (7200/15)*/,
16722  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16723  },
16724  // 10:00 - %z 2014 Oct 26 2:00s
16725  {
16726  nullptr /*zonePolicy*/,
16727  "" /*format*/,
16728  2400 /*offsetCode (36000/15)*/,
16729  0 /*offsetRemainder (36000%15)*/,
16730  0 /*deltaMinutes*/,
16731  2014 /*untilYear*/,
16732  10 /*untilMonth*/,
16733  26 /*untilDay*/,
16734  480 /*untilTimeCode (7200/15)*/,
16735  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
16736  },
16737  // 8:00 - %z 2016 Mar 27 2:00
16738  {
16739  nullptr /*zonePolicy*/,
16740  "" /*format*/,
16741  1920 /*offsetCode (28800/15)*/,
16742  0 /*offsetRemainder (28800%15)*/,
16743  0 /*deltaMinutes*/,
16744  2016 /*untilYear*/,
16745  3 /*untilMonth*/,
16746  27 /*untilDay*/,
16747  480 /*untilTimeCode (7200/15)*/,
16748  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16749  },
16750  // 9:00 - %z
16751  {
16752  nullptr /*zonePolicy*/,
16753  "" /*format*/,
16754  2160 /*offsetCode (32400/15)*/,
16755  0 /*offsetRemainder (32400%15)*/,
16756  0 /*deltaMinutes*/,
16757  32767 /*untilYear*/,
16758  1 /*untilMonth*/,
16759  1 /*untilDay*/,
16760  0 /*untilTimeCode (0/15)*/,
16761  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16762  },
16763 
16764 };
16765 
16766 static const char kZoneNameAsia_Chita[] ACE_TIME_PROGMEM = "\x05" "Chita";
16767 
16768 const complete::ZoneInfo kZoneAsia_Chita ACE_TIME_PROGMEM = {
16769  kZoneNameAsia_Chita /*name*/,
16770  0x14ae863b /*zoneId*/,
16771  &kZoneContext /*zoneContext*/,
16772  8 /*numEras*/,
16773  kZoneEraAsia_Chita /*eras*/,
16774  nullptr /*targetInfo*/,
16775 };
16776 
16777 //---------------------------------------------------------------------------
16778 // Zone name: Asia/Colombo
16779 // Eras: 9
16780 //---------------------------------------------------------------------------
16781 
16782 static const complete::ZoneEra kZoneEraAsia_Colombo[] ACE_TIME_PROGMEM = {
16783  // 5:19:24 - LMT 1880
16784  {
16785  nullptr /*zonePolicy*/,
16786  "LMT" /*format*/,
16787  1277 /*offsetCode (19164/15)*/,
16788  9 /*offsetRemainder (19164%15)*/,
16789  0 /*deltaMinutes*/,
16790  1880 /*untilYear*/,
16791  1 /*untilMonth*/,
16792  1 /*untilDay*/,
16793  0 /*untilTimeCode (0/15)*/,
16794  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16795  },
16796  // 5:19:32 - MMT 1906
16797  {
16798  nullptr /*zonePolicy*/,
16799  "MMT" /*format*/,
16800  1278 /*offsetCode (19172/15)*/,
16801  2 /*offsetRemainder (19172%15)*/,
16802  0 /*deltaMinutes*/,
16803  1906 /*untilYear*/,
16804  1 /*untilMonth*/,
16805  1 /*untilDay*/,
16806  0 /*untilTimeCode (0/15)*/,
16807  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16808  },
16809  // 5:30 - %z 1942 Jan 5
16810  {
16811  nullptr /*zonePolicy*/,
16812  "" /*format*/,
16813  1320 /*offsetCode (19800/15)*/,
16814  0 /*offsetRemainder (19800%15)*/,
16815  0 /*deltaMinutes*/,
16816  1942 /*untilYear*/,
16817  1 /*untilMonth*/,
16818  5 /*untilDay*/,
16819  0 /*untilTimeCode (0/15)*/,
16820  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16821  },
16822  // 5:30 0:30 %z 1942 Sep
16823  {
16824  nullptr /*zonePolicy*/,
16825  "" /*format*/,
16826  1320 /*offsetCode (19800/15)*/,
16827  0 /*offsetRemainder (19800%15)*/,
16828  30 /*deltaMinutes*/,
16829  1942 /*untilYear*/,
16830  9 /*untilMonth*/,
16831  1 /*untilDay*/,
16832  0 /*untilTimeCode (0/15)*/,
16833  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16834  },
16835  // 5:30 1:00 %z 1945 Oct 16 2:00
16836  {
16837  nullptr /*zonePolicy*/,
16838  "" /*format*/,
16839  1320 /*offsetCode (19800/15)*/,
16840  0 /*offsetRemainder (19800%15)*/,
16841  60 /*deltaMinutes*/,
16842  1945 /*untilYear*/,
16843  10 /*untilMonth*/,
16844  16 /*untilDay*/,
16845  480 /*untilTimeCode (7200/15)*/,
16846  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16847  },
16848  // 5:30 - %z 1996 May 25 0:00
16849  {
16850  nullptr /*zonePolicy*/,
16851  "" /*format*/,
16852  1320 /*offsetCode (19800/15)*/,
16853  0 /*offsetRemainder (19800%15)*/,
16854  0 /*deltaMinutes*/,
16855  1996 /*untilYear*/,
16856  5 /*untilMonth*/,
16857  25 /*untilDay*/,
16858  0 /*untilTimeCode (0/15)*/,
16859  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16860  },
16861  // 6:30 - %z 1996 Oct 26 0:30
16862  {
16863  nullptr /*zonePolicy*/,
16864  "" /*format*/,
16865  1560 /*offsetCode (23400/15)*/,
16866  0 /*offsetRemainder (23400%15)*/,
16867  0 /*deltaMinutes*/,
16868  1996 /*untilYear*/,
16869  10 /*untilMonth*/,
16870  26 /*untilDay*/,
16871  120 /*untilTimeCode (1800/15)*/,
16872  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16873  },
16874  // 6:00 - %z 2006 Apr 15 0:30
16875  {
16876  nullptr /*zonePolicy*/,
16877  "" /*format*/,
16878  1440 /*offsetCode (21600/15)*/,
16879  0 /*offsetRemainder (21600%15)*/,
16880  0 /*deltaMinutes*/,
16881  2006 /*untilYear*/,
16882  4 /*untilMonth*/,
16883  15 /*untilDay*/,
16884  120 /*untilTimeCode (1800/15)*/,
16885  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16886  },
16887  // 5:30 - %z
16888  {
16889  nullptr /*zonePolicy*/,
16890  "" /*format*/,
16891  1320 /*offsetCode (19800/15)*/,
16892  0 /*offsetRemainder (19800%15)*/,
16893  0 /*deltaMinutes*/,
16894  32767 /*untilYear*/,
16895  1 /*untilMonth*/,
16896  1 /*untilDay*/,
16897  0 /*untilTimeCode (0/15)*/,
16898  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16899  },
16900 
16901 };
16902 
16903 static const char kZoneNameAsia_Colombo[] ACE_TIME_PROGMEM = "\x05" "Colombo";
16904 
16905 const complete::ZoneInfo kZoneAsia_Colombo ACE_TIME_PROGMEM = {
16906  kZoneNameAsia_Colombo /*name*/,
16907  0x0af0e91d /*zoneId*/,
16908  &kZoneContext /*zoneContext*/,
16909  9 /*numEras*/,
16910  kZoneEraAsia_Colombo /*eras*/,
16911  nullptr /*targetInfo*/,
16912 };
16913 
16914 //---------------------------------------------------------------------------
16915 // Zone name: Asia/Damascus
16916 // Eras: 3
16917 //---------------------------------------------------------------------------
16918 
16919 static const complete::ZoneEra kZoneEraAsia_Damascus[] ACE_TIME_PROGMEM = {
16920  // 2:25:12 - LMT 1920
16921  {
16922  nullptr /*zonePolicy*/,
16923  "LMT" /*format*/,
16924  580 /*offsetCode (8712/15)*/,
16925  12 /*offsetRemainder (8712%15)*/,
16926  0 /*deltaMinutes*/,
16927  1920 /*untilYear*/,
16928  1 /*untilMonth*/,
16929  1 /*untilDay*/,
16930  0 /*untilTimeCode (0/15)*/,
16931  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16932  },
16933  // 2:00 Syria EE%sT 2022 Oct 28 0:00
16934  {
16935  &kZonePolicySyria /*zonePolicy*/,
16936  "EE%T" /*format*/,
16937  480 /*offsetCode (7200/15)*/,
16938  0 /*offsetRemainder (7200%15)*/,
16939  0 /*deltaMinutes*/,
16940  2022 /*untilYear*/,
16941  10 /*untilMonth*/,
16942  28 /*untilDay*/,
16943  0 /*untilTimeCode (0/15)*/,
16944  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16945  },
16946  // 3:00 - %z
16947  {
16948  nullptr /*zonePolicy*/,
16949  "" /*format*/,
16950  720 /*offsetCode (10800/15)*/,
16951  0 /*offsetRemainder (10800%15)*/,
16952  0 /*deltaMinutes*/,
16953  32767 /*untilYear*/,
16954  1 /*untilMonth*/,
16955  1 /*untilDay*/,
16956  0 /*untilTimeCode (0/15)*/,
16957  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16958  },
16959 
16960 };
16961 
16962 static const char kZoneNameAsia_Damascus[] ACE_TIME_PROGMEM = "\x05" "Damascus";
16963 
16964 const complete::ZoneInfo kZoneAsia_Damascus ACE_TIME_PROGMEM = {
16965  kZoneNameAsia_Damascus /*name*/,
16966  0x20fbb063 /*zoneId*/,
16967  &kZoneContext /*zoneContext*/,
16968  3 /*numEras*/,
16969  kZoneEraAsia_Damascus /*eras*/,
16970  nullptr /*targetInfo*/,
16971 };
16972 
16973 //---------------------------------------------------------------------------
16974 // Zone name: Asia/Dhaka
16975 // Eras: 7
16976 //---------------------------------------------------------------------------
16977 
16978 static const complete::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = {
16979  // 6:01:40 - LMT 1890
16980  {
16981  nullptr /*zonePolicy*/,
16982  "LMT" /*format*/,
16983  1446 /*offsetCode (21700/15)*/,
16984  10 /*offsetRemainder (21700%15)*/,
16985  0 /*deltaMinutes*/,
16986  1890 /*untilYear*/,
16987  1 /*untilMonth*/,
16988  1 /*untilDay*/,
16989  0 /*untilTimeCode (0/15)*/,
16990  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
16991  },
16992  // 5:53:20 - HMT 1941 Oct
16993  {
16994  nullptr /*zonePolicy*/,
16995  "HMT" /*format*/,
16996  1413 /*offsetCode (21200/15)*/,
16997  5 /*offsetRemainder (21200%15)*/,
16998  0 /*deltaMinutes*/,
16999  1941 /*untilYear*/,
17000  10 /*untilMonth*/,
17001  1 /*untilDay*/,
17002  0 /*untilTimeCode (0/15)*/,
17003  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17004  },
17005  // 6:30 - %z 1942 May 15
17006  {
17007  nullptr /*zonePolicy*/,
17008  "" /*format*/,
17009  1560 /*offsetCode (23400/15)*/,
17010  0 /*offsetRemainder (23400%15)*/,
17011  0 /*deltaMinutes*/,
17012  1942 /*untilYear*/,
17013  5 /*untilMonth*/,
17014  15 /*untilDay*/,
17015  0 /*untilTimeCode (0/15)*/,
17016  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17017  },
17018  // 5:30 - %z 1942 Sep
17019  {
17020  nullptr /*zonePolicy*/,
17021  "" /*format*/,
17022  1320 /*offsetCode (19800/15)*/,
17023  0 /*offsetRemainder (19800%15)*/,
17024  0 /*deltaMinutes*/,
17025  1942 /*untilYear*/,
17026  9 /*untilMonth*/,
17027  1 /*untilDay*/,
17028  0 /*untilTimeCode (0/15)*/,
17029  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17030  },
17031  // 6:30 - %z 1951 Sep 30
17032  {
17033  nullptr /*zonePolicy*/,
17034  "" /*format*/,
17035  1560 /*offsetCode (23400/15)*/,
17036  0 /*offsetRemainder (23400%15)*/,
17037  0 /*deltaMinutes*/,
17038  1951 /*untilYear*/,
17039  9 /*untilMonth*/,
17040  30 /*untilDay*/,
17041  0 /*untilTimeCode (0/15)*/,
17042  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17043  },
17044  // 6:00 - %z 2009
17045  {
17046  nullptr /*zonePolicy*/,
17047  "" /*format*/,
17048  1440 /*offsetCode (21600/15)*/,
17049  0 /*offsetRemainder (21600%15)*/,
17050  0 /*deltaMinutes*/,
17051  2009 /*untilYear*/,
17052  1 /*untilMonth*/,
17053  1 /*untilDay*/,
17054  0 /*untilTimeCode (0/15)*/,
17055  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17056  },
17057  // 6:00 Dhaka %z
17058  {
17059  &kZonePolicyDhaka /*zonePolicy*/,
17060  "" /*format*/,
17061  1440 /*offsetCode (21600/15)*/,
17062  0 /*offsetRemainder (21600%15)*/,
17063  0 /*deltaMinutes*/,
17064  32767 /*untilYear*/,
17065  1 /*untilMonth*/,
17066  1 /*untilDay*/,
17067  0 /*untilTimeCode (0/15)*/,
17068  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17069  },
17070 
17071 };
17072 
17073 static const char kZoneNameAsia_Dhaka[] ACE_TIME_PROGMEM = "\x05" "Dhaka";
17074 
17075 const complete::ZoneInfo kZoneAsia_Dhaka ACE_TIME_PROGMEM = {
17076  kZoneNameAsia_Dhaka /*name*/,
17077  0x14c07b8b /*zoneId*/,
17078  &kZoneContext /*zoneContext*/,
17079  7 /*numEras*/,
17080  kZoneEraAsia_Dhaka /*eras*/,
17081  nullptr /*targetInfo*/,
17082 };
17083 
17084 //---------------------------------------------------------------------------
17085 // Zone name: Asia/Dili
17086 // Eras: 5
17087 //---------------------------------------------------------------------------
17088 
17089 static const complete::ZoneEra kZoneEraAsia_Dili[] ACE_TIME_PROGMEM = {
17090  // 8:22:20 - LMT 1911 Dec 31 16:00u
17091  {
17092  nullptr /*zonePolicy*/,
17093  "LMT" /*format*/,
17094  2009 /*offsetCode (30140/15)*/,
17095  5 /*offsetRemainder (30140%15)*/,
17096  0 /*deltaMinutes*/,
17097  1911 /*untilYear*/,
17098  12 /*untilMonth*/,
17099  31 /*untilDay*/,
17100  3840 /*untilTimeCode (57600/15)*/,
17101  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
17102  },
17103  // 8:00 - %z 1942 Feb 21 23:00
17104  {
17105  nullptr /*zonePolicy*/,
17106  "" /*format*/,
17107  1920 /*offsetCode (28800/15)*/,
17108  0 /*offsetRemainder (28800%15)*/,
17109  0 /*deltaMinutes*/,
17110  1942 /*untilYear*/,
17111  2 /*untilMonth*/,
17112  21 /*untilDay*/,
17113  5520 /*untilTimeCode (82800/15)*/,
17114  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17115  },
17116  // 9:00 - %z 1976 May 3
17117  {
17118  nullptr /*zonePolicy*/,
17119  "" /*format*/,
17120  2160 /*offsetCode (32400/15)*/,
17121  0 /*offsetRemainder (32400%15)*/,
17122  0 /*deltaMinutes*/,
17123  1976 /*untilYear*/,
17124  5 /*untilMonth*/,
17125  3 /*untilDay*/,
17126  0 /*untilTimeCode (0/15)*/,
17127  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17128  },
17129  // 8:00 - %z 2000 Sep 17 0:00
17130  {
17131  nullptr /*zonePolicy*/,
17132  "" /*format*/,
17133  1920 /*offsetCode (28800/15)*/,
17134  0 /*offsetRemainder (28800%15)*/,
17135  0 /*deltaMinutes*/,
17136  2000 /*untilYear*/,
17137  9 /*untilMonth*/,
17138  17 /*untilDay*/,
17139  0 /*untilTimeCode (0/15)*/,
17140  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17141  },
17142  // 9:00 - %z
17143  {
17144  nullptr /*zonePolicy*/,
17145  "" /*format*/,
17146  2160 /*offsetCode (32400/15)*/,
17147  0 /*offsetRemainder (32400%15)*/,
17148  0 /*deltaMinutes*/,
17149  32767 /*untilYear*/,
17150  1 /*untilMonth*/,
17151  1 /*untilDay*/,
17152  0 /*untilTimeCode (0/15)*/,
17153  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17154  },
17155 
17156 };
17157 
17158 static const char kZoneNameAsia_Dili[] ACE_TIME_PROGMEM = "\x05" "Dili";
17159 
17160 const complete::ZoneInfo kZoneAsia_Dili ACE_TIME_PROGMEM = {
17161  kZoneNameAsia_Dili /*name*/,
17162  0x1fa8c394 /*zoneId*/,
17163  &kZoneContext /*zoneContext*/,
17164  5 /*numEras*/,
17165  kZoneEraAsia_Dili /*eras*/,
17166  nullptr /*targetInfo*/,
17167 };
17168 
17169 //---------------------------------------------------------------------------
17170 // Zone name: Asia/Dubai
17171 // Eras: 2
17172 //---------------------------------------------------------------------------
17173 
17174 static const complete::ZoneEra kZoneEraAsia_Dubai[] ACE_TIME_PROGMEM = {
17175  // 3:41:12 - LMT 1920
17176  {
17177  nullptr /*zonePolicy*/,
17178  "LMT" /*format*/,
17179  884 /*offsetCode (13272/15)*/,
17180  12 /*offsetRemainder (13272%15)*/,
17181  0 /*deltaMinutes*/,
17182  1920 /*untilYear*/,
17183  1 /*untilMonth*/,
17184  1 /*untilDay*/,
17185  0 /*untilTimeCode (0/15)*/,
17186  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17187  },
17188  // 4:00 - %z
17189  {
17190  nullptr /*zonePolicy*/,
17191  "" /*format*/,
17192  960 /*offsetCode (14400/15)*/,
17193  0 /*offsetRemainder (14400%15)*/,
17194  0 /*deltaMinutes*/,
17195  32767 /*untilYear*/,
17196  1 /*untilMonth*/,
17197  1 /*untilDay*/,
17198  0 /*untilTimeCode (0/15)*/,
17199  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17200  },
17201 
17202 };
17203 
17204 static const char kZoneNameAsia_Dubai[] ACE_TIME_PROGMEM = "\x05" "Dubai";
17205 
17206 const complete::ZoneInfo kZoneAsia_Dubai ACE_TIME_PROGMEM = {
17207  kZoneNameAsia_Dubai /*name*/,
17208  0x14c79f77 /*zoneId*/,
17209  &kZoneContext /*zoneContext*/,
17210  2 /*numEras*/,
17211  kZoneEraAsia_Dubai /*eras*/,
17212  nullptr /*targetInfo*/,
17213 };
17214 
17215 //---------------------------------------------------------------------------
17216 // Zone name: Asia/Dushanbe
17217 // Eras: 5
17218 //---------------------------------------------------------------------------
17219 
17220 static const complete::ZoneEra kZoneEraAsia_Dushanbe[] ACE_TIME_PROGMEM = {
17221  // 4:35:12 - LMT 1924 May 2
17222  {
17223  nullptr /*zonePolicy*/,
17224  "LMT" /*format*/,
17225  1100 /*offsetCode (16512/15)*/,
17226  12 /*offsetRemainder (16512%15)*/,
17227  0 /*deltaMinutes*/,
17228  1924 /*untilYear*/,
17229  5 /*untilMonth*/,
17230  2 /*untilDay*/,
17231  0 /*untilTimeCode (0/15)*/,
17232  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17233  },
17234  // 5:00 - %z 1930 Jun 21
17235  {
17236  nullptr /*zonePolicy*/,
17237  "" /*format*/,
17238  1200 /*offsetCode (18000/15)*/,
17239  0 /*offsetRemainder (18000%15)*/,
17240  0 /*deltaMinutes*/,
17241  1930 /*untilYear*/,
17242  6 /*untilMonth*/,
17243  21 /*untilDay*/,
17244  0 /*untilTimeCode (0/15)*/,
17245  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17246  },
17247  // 6:00 RussiaAsia %z 1991 Mar 31 2:00s
17248  {
17249  &kZonePolicyRussiaAsia /*zonePolicy*/,
17250  "" /*format*/,
17251  1440 /*offsetCode (21600/15)*/,
17252  0 /*offsetRemainder (21600%15)*/,
17253  0 /*deltaMinutes*/,
17254  1991 /*untilYear*/,
17255  3 /*untilMonth*/,
17256  31 /*untilDay*/,
17257  480 /*untilTimeCode (7200/15)*/,
17258  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
17259  },
17260  // 5:00 1:00 %z 1991 Sep 9 2:00s
17261  {
17262  nullptr /*zonePolicy*/,
17263  "" /*format*/,
17264  1200 /*offsetCode (18000/15)*/,
17265  0 /*offsetRemainder (18000%15)*/,
17266  60 /*deltaMinutes*/,
17267  1991 /*untilYear*/,
17268  9 /*untilMonth*/,
17269  9 /*untilDay*/,
17270  480 /*untilTimeCode (7200/15)*/,
17271  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
17272  },
17273  // 5:00 - %z
17274  {
17275  nullptr /*zonePolicy*/,
17276  "" /*format*/,
17277  1200 /*offsetCode (18000/15)*/,
17278  0 /*offsetRemainder (18000%15)*/,
17279  0 /*deltaMinutes*/,
17280  32767 /*untilYear*/,
17281  1 /*untilMonth*/,
17282  1 /*untilDay*/,
17283  0 /*untilTimeCode (0/15)*/,
17284  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17285  },
17286 
17287 };
17288 
17289 static const char kZoneNameAsia_Dushanbe[] ACE_TIME_PROGMEM = "\x05" "Dushanbe";
17290 
17291 const complete::ZoneInfo kZoneAsia_Dushanbe ACE_TIME_PROGMEM = {
17292  kZoneNameAsia_Dushanbe /*name*/,
17293  0x32fc5c3c /*zoneId*/,
17294  &kZoneContext /*zoneContext*/,
17295  5 /*numEras*/,
17296  kZoneEraAsia_Dushanbe /*eras*/,
17297  nullptr /*targetInfo*/,
17298 };
17299 
17300 //---------------------------------------------------------------------------
17301 // Zone name: Asia/Famagusta
17302 // Eras: 5
17303 //---------------------------------------------------------------------------
17304 
17305 static const complete::ZoneEra kZoneEraAsia_Famagusta[] ACE_TIME_PROGMEM = {
17306  // 2:15:48 - LMT 1921 Nov 14
17307  {
17308  nullptr /*zonePolicy*/,
17309  "LMT" /*format*/,
17310  543 /*offsetCode (8148/15)*/,
17311  3 /*offsetRemainder (8148%15)*/,
17312  0 /*deltaMinutes*/,
17313  1921 /*untilYear*/,
17314  11 /*untilMonth*/,
17315  14 /*untilDay*/,
17316  0 /*untilTimeCode (0/15)*/,
17317  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17318  },
17319  // 2:00 Cyprus EE%sT 1998 Sep
17320  {
17321  &kZonePolicyCyprus /*zonePolicy*/,
17322  "EE%T" /*format*/,
17323  480 /*offsetCode (7200/15)*/,
17324  0 /*offsetRemainder (7200%15)*/,
17325  0 /*deltaMinutes*/,
17326  1998 /*untilYear*/,
17327  9 /*untilMonth*/,
17328  1 /*untilDay*/,
17329  0 /*untilTimeCode (0/15)*/,
17330  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17331  },
17332  // 2:00 EUAsia EE%sT 2016 Sep 8
17333  {
17334  &kZonePolicyEUAsia /*zonePolicy*/,
17335  "EE%T" /*format*/,
17336  480 /*offsetCode (7200/15)*/,
17337  0 /*offsetRemainder (7200%15)*/,
17338  0 /*deltaMinutes*/,
17339  2016 /*untilYear*/,
17340  9 /*untilMonth*/,
17341  8 /*untilDay*/,
17342  0 /*untilTimeCode (0/15)*/,
17343  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17344  },
17345  // 3:00 - %z 2017 Oct 29 1:00u
17346  {
17347  nullptr /*zonePolicy*/,
17348  "" /*format*/,
17349  720 /*offsetCode (10800/15)*/,
17350  0 /*offsetRemainder (10800%15)*/,
17351  0 /*deltaMinutes*/,
17352  2017 /*untilYear*/,
17353  10 /*untilMonth*/,
17354  29 /*untilDay*/,
17355  240 /*untilTimeCode (3600/15)*/,
17356  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
17357  },
17358  // 2:00 EUAsia EE%sT
17359  {
17360  &kZonePolicyEUAsia /*zonePolicy*/,
17361  "EE%T" /*format*/,
17362  480 /*offsetCode (7200/15)*/,
17363  0 /*offsetRemainder (7200%15)*/,
17364  0 /*deltaMinutes*/,
17365  32767 /*untilYear*/,
17366  1 /*untilMonth*/,
17367  1 /*untilDay*/,
17368  0 /*untilTimeCode (0/15)*/,
17369  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17370  },
17371 
17372 };
17373 
17374 static const char kZoneNameAsia_Famagusta[] ACE_TIME_PROGMEM = "\x05" "Famagusta";
17375 
17376 const complete::ZoneInfo kZoneAsia_Famagusta ACE_TIME_PROGMEM = {
17377  kZoneNameAsia_Famagusta /*name*/,
17378  0x289b4f8b /*zoneId*/,
17379  &kZoneContext /*zoneContext*/,
17380  5 /*numEras*/,
17381  kZoneEraAsia_Famagusta /*eras*/,
17382  nullptr /*targetInfo*/,
17383 };
17384 
17385 //---------------------------------------------------------------------------
17386 // Zone name: Asia/Gaza
17387 // Eras: 12
17388 //---------------------------------------------------------------------------
17389 
17390 static const complete::ZoneEra kZoneEraAsia_Gaza[] ACE_TIME_PROGMEM = {
17391  // 2:17:52 - LMT 1900 Oct
17392  {
17393  nullptr /*zonePolicy*/,
17394  "LMT" /*format*/,
17395  551 /*offsetCode (8272/15)*/,
17396  7 /*offsetRemainder (8272%15)*/,
17397  0 /*deltaMinutes*/,
17398  1900 /*untilYear*/,
17399  10 /*untilMonth*/,
17400  1 /*untilDay*/,
17401  0 /*untilTimeCode (0/15)*/,
17402  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17403  },
17404  // 2:00 Zion EET/EEST 1948 May 15
17405  {
17406  &kZonePolicyZion /*zonePolicy*/,
17407  "EET/EEST" /*format*/,
17408  480 /*offsetCode (7200/15)*/,
17409  0 /*offsetRemainder (7200%15)*/,
17410  0 /*deltaMinutes*/,
17411  1948 /*untilYear*/,
17412  5 /*untilMonth*/,
17413  15 /*untilDay*/,
17414  0 /*untilTimeCode (0/15)*/,
17415  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17416  },
17417  // 2:00 EgyptAsia EE%sT 1967 Jun 5
17418  {
17419  &kZonePolicyEgyptAsia /*zonePolicy*/,
17420  "EE%T" /*format*/,
17421  480 /*offsetCode (7200/15)*/,
17422  0 /*offsetRemainder (7200%15)*/,
17423  0 /*deltaMinutes*/,
17424  1967 /*untilYear*/,
17425  6 /*untilMonth*/,
17426  5 /*untilDay*/,
17427  0 /*untilTimeCode (0/15)*/,
17428  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17429  },
17430  // 2:00 Zion I%sT 1996
17431  {
17432  &kZonePolicyZion /*zonePolicy*/,
17433  "I%T" /*format*/,
17434  480 /*offsetCode (7200/15)*/,
17435  0 /*offsetRemainder (7200%15)*/,
17436  0 /*deltaMinutes*/,
17437  1996 /*untilYear*/,
17438  1 /*untilMonth*/,
17439  1 /*untilDay*/,
17440  0 /*untilTimeCode (0/15)*/,
17441  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17442  },
17443  // 2:00 Jordan EE%sT 1999
17444  {
17445  &kZonePolicyJordan /*zonePolicy*/,
17446  "EE%T" /*format*/,
17447  480 /*offsetCode (7200/15)*/,
17448  0 /*offsetRemainder (7200%15)*/,
17449  0 /*deltaMinutes*/,
17450  1999 /*untilYear*/,
17451  1 /*untilMonth*/,
17452  1 /*untilDay*/,
17453  0 /*untilTimeCode (0/15)*/,
17454  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17455  },
17456  // 2:00 Palestine EE%sT 2008 Aug 29 0:00
17457  {
17458  &kZonePolicyPalestine /*zonePolicy*/,
17459  "EE%T" /*format*/,
17460  480 /*offsetCode (7200/15)*/,
17461  0 /*offsetRemainder (7200%15)*/,
17462  0 /*deltaMinutes*/,
17463  2008 /*untilYear*/,
17464  8 /*untilMonth*/,
17465  29 /*untilDay*/,
17466  0 /*untilTimeCode (0/15)*/,
17467  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17468  },
17469  // 2:00 - EET 2008 Sep
17470  {
17471  nullptr /*zonePolicy*/,
17472  "EET" /*format*/,
17473  480 /*offsetCode (7200/15)*/,
17474  0 /*offsetRemainder (7200%15)*/,
17475  0 /*deltaMinutes*/,
17476  2008 /*untilYear*/,
17477  9 /*untilMonth*/,
17478  1 /*untilDay*/,
17479  0 /*untilTimeCode (0/15)*/,
17480  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17481  },
17482  // 2:00 Palestine EE%sT 2010
17483  {
17484  &kZonePolicyPalestine /*zonePolicy*/,
17485  "EE%T" /*format*/,
17486  480 /*offsetCode (7200/15)*/,
17487  0 /*offsetRemainder (7200%15)*/,
17488  0 /*deltaMinutes*/,
17489  2010 /*untilYear*/,
17490  1 /*untilMonth*/,
17491  1 /*untilDay*/,
17492  0 /*untilTimeCode (0/15)*/,
17493  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17494  },
17495  // 2:00 - EET 2010 Mar 27 0:01
17496  {
17497  nullptr /*zonePolicy*/,
17498  "EET" /*format*/,
17499  480 /*offsetCode (7200/15)*/,
17500  0 /*offsetRemainder (7200%15)*/,
17501  0 /*deltaMinutes*/,
17502  2010 /*untilYear*/,
17503  3 /*untilMonth*/,
17504  27 /*untilDay*/,
17505  4 /*untilTimeCode (60/15)*/,
17506  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17507  },
17508  // 2:00 Palestine EE%sT 2011 Aug 1
17509  {
17510  &kZonePolicyPalestine /*zonePolicy*/,
17511  "EE%T" /*format*/,
17512  480 /*offsetCode (7200/15)*/,
17513  0 /*offsetRemainder (7200%15)*/,
17514  0 /*deltaMinutes*/,
17515  2011 /*untilYear*/,
17516  8 /*untilMonth*/,
17517  1 /*untilDay*/,
17518  0 /*untilTimeCode (0/15)*/,
17519  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17520  },
17521  // 2:00 - EET 2012
17522  {
17523  nullptr /*zonePolicy*/,
17524  "EET" /*format*/,
17525  480 /*offsetCode (7200/15)*/,
17526  0 /*offsetRemainder (7200%15)*/,
17527  0 /*deltaMinutes*/,
17528  2012 /*untilYear*/,
17529  1 /*untilMonth*/,
17530  1 /*untilDay*/,
17531  0 /*untilTimeCode (0/15)*/,
17532  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17533  },
17534  // 2:00 Palestine EE%sT
17535  {
17536  &kZonePolicyPalestine /*zonePolicy*/,
17537  "EE%T" /*format*/,
17538  480 /*offsetCode (7200/15)*/,
17539  0 /*offsetRemainder (7200%15)*/,
17540  0 /*deltaMinutes*/,
17541  32767 /*untilYear*/,
17542  1 /*untilMonth*/,
17543  1 /*untilDay*/,
17544  0 /*untilTimeCode (0/15)*/,
17545  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17546  },
17547 
17548 };
17549 
17550 static const char kZoneNameAsia_Gaza[] ACE_TIME_PROGMEM = "\x05" "Gaza";
17551 
17552 const complete::ZoneInfo kZoneAsia_Gaza ACE_TIME_PROGMEM = {
17553  kZoneNameAsia_Gaza /*name*/,
17554  0x1faa4875 /*zoneId*/,
17555  &kZoneContext /*zoneContext*/,
17556  12 /*numEras*/,
17557  kZoneEraAsia_Gaza /*eras*/,
17558  nullptr /*targetInfo*/,
17559 };
17560 
17561 //---------------------------------------------------------------------------
17562 // Zone name: Asia/Hebron
17563 // Eras: 6
17564 //---------------------------------------------------------------------------
17565 
17566 static const complete::ZoneEra kZoneEraAsia_Hebron[] ACE_TIME_PROGMEM = {
17567  // 2:20:23 - LMT 1900 Oct
17568  {
17569  nullptr /*zonePolicy*/,
17570  "LMT" /*format*/,
17571  561 /*offsetCode (8423/15)*/,
17572  8 /*offsetRemainder (8423%15)*/,
17573  0 /*deltaMinutes*/,
17574  1900 /*untilYear*/,
17575  10 /*untilMonth*/,
17576  1 /*untilDay*/,
17577  0 /*untilTimeCode (0/15)*/,
17578  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17579  },
17580  // 2:00 Zion EET/EEST 1948 May 15
17581  {
17582  &kZonePolicyZion /*zonePolicy*/,
17583  "EET/EEST" /*format*/,
17584  480 /*offsetCode (7200/15)*/,
17585  0 /*offsetRemainder (7200%15)*/,
17586  0 /*deltaMinutes*/,
17587  1948 /*untilYear*/,
17588  5 /*untilMonth*/,
17589  15 /*untilDay*/,
17590  0 /*untilTimeCode (0/15)*/,
17591  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17592  },
17593  // 2:00 EgyptAsia EE%sT 1967 Jun 5
17594  {
17595  &kZonePolicyEgyptAsia /*zonePolicy*/,
17596  "EE%T" /*format*/,
17597  480 /*offsetCode (7200/15)*/,
17598  0 /*offsetRemainder (7200%15)*/,
17599  0 /*deltaMinutes*/,
17600  1967 /*untilYear*/,
17601  6 /*untilMonth*/,
17602  5 /*untilDay*/,
17603  0 /*untilTimeCode (0/15)*/,
17604  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17605  },
17606  // 2:00 Zion I%sT 1996
17607  {
17608  &kZonePolicyZion /*zonePolicy*/,
17609  "I%T" /*format*/,
17610  480 /*offsetCode (7200/15)*/,
17611  0 /*offsetRemainder (7200%15)*/,
17612  0 /*deltaMinutes*/,
17613  1996 /*untilYear*/,
17614  1 /*untilMonth*/,
17615  1 /*untilDay*/,
17616  0 /*untilTimeCode (0/15)*/,
17617  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17618  },
17619  // 2:00 Jordan EE%sT 1999
17620  {
17621  &kZonePolicyJordan /*zonePolicy*/,
17622  "EE%T" /*format*/,
17623  480 /*offsetCode (7200/15)*/,
17624  0 /*offsetRemainder (7200%15)*/,
17625  0 /*deltaMinutes*/,
17626  1999 /*untilYear*/,
17627  1 /*untilMonth*/,
17628  1 /*untilDay*/,
17629  0 /*untilTimeCode (0/15)*/,
17630  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17631  },
17632  // 2:00 Palestine EE%sT
17633  {
17634  &kZonePolicyPalestine /*zonePolicy*/,
17635  "EE%T" /*format*/,
17636  480 /*offsetCode (7200/15)*/,
17637  0 /*offsetRemainder (7200%15)*/,
17638  0 /*deltaMinutes*/,
17639  32767 /*untilYear*/,
17640  1 /*untilMonth*/,
17641  1 /*untilDay*/,
17642  0 /*untilTimeCode (0/15)*/,
17643  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17644  },
17645 
17646 };
17647 
17648 static const char kZoneNameAsia_Hebron[] ACE_TIME_PROGMEM = "\x05" "Hebron";
17649 
17650 const complete::ZoneInfo kZoneAsia_Hebron ACE_TIME_PROGMEM = {
17651  kZoneNameAsia_Hebron /*name*/,
17652  0xb5eef250 /*zoneId*/,
17653  &kZoneContext /*zoneContext*/,
17654  6 /*numEras*/,
17655  kZoneEraAsia_Hebron /*eras*/,
17656  nullptr /*targetInfo*/,
17657 };
17658 
17659 //---------------------------------------------------------------------------
17660 // Zone name: Asia/Ho_Chi_Minh
17661 // Eras: 10
17662 //---------------------------------------------------------------------------
17663 
17664 static const complete::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = {
17665  // 7:06:30 - LMT 1906 Jul 1
17666  {
17667  nullptr /*zonePolicy*/,
17668  "LMT" /*format*/,
17669  1706 /*offsetCode (25590/15)*/,
17670  0 /*offsetRemainder (25590%15)*/,
17671  0 /*deltaMinutes*/,
17672  1906 /*untilYear*/,
17673  7 /*untilMonth*/,
17674  1 /*untilDay*/,
17675  0 /*untilTimeCode (0/15)*/,
17676  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17677  },
17678  // 7:06:30 - PLMT 1911 May 1
17679  {
17680  nullptr /*zonePolicy*/,
17681  "PLMT" /*format*/,
17682  1706 /*offsetCode (25590/15)*/,
17683  0 /*offsetRemainder (25590%15)*/,
17684  0 /*deltaMinutes*/,
17685  1911 /*untilYear*/,
17686  5 /*untilMonth*/,
17687  1 /*untilDay*/,
17688  0 /*untilTimeCode (0/15)*/,
17689  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17690  },
17691  // 7:00 - %z 1942 Dec 31 23:00
17692  {
17693  nullptr /*zonePolicy*/,
17694  "" /*format*/,
17695  1680 /*offsetCode (25200/15)*/,
17696  0 /*offsetRemainder (25200%15)*/,
17697  0 /*deltaMinutes*/,
17698  1942 /*untilYear*/,
17699  12 /*untilMonth*/,
17700  31 /*untilDay*/,
17701  5520 /*untilTimeCode (82800/15)*/,
17702  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17703  },
17704  // 8:00 - %z 1945 Mar 14 23:00
17705  {
17706  nullptr /*zonePolicy*/,
17707  "" /*format*/,
17708  1920 /*offsetCode (28800/15)*/,
17709  0 /*offsetRemainder (28800%15)*/,
17710  0 /*deltaMinutes*/,
17711  1945 /*untilYear*/,
17712  3 /*untilMonth*/,
17713  14 /*untilDay*/,
17714  5520 /*untilTimeCode (82800/15)*/,
17715  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17716  },
17717  // 9:00 - %z 1945 Sep 1 24:00
17718  {
17719  nullptr /*zonePolicy*/,
17720  "" /*format*/,
17721  2160 /*offsetCode (32400/15)*/,
17722  0 /*offsetRemainder (32400%15)*/,
17723  0 /*deltaMinutes*/,
17724  1945 /*untilYear*/,
17725  9 /*untilMonth*/,
17726  1 /*untilDay*/,
17727  5760 /*untilTimeCode (86400/15)*/,
17728  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17729  },
17730  // 7:00 - %z 1947 Apr 1
17731  {
17732  nullptr /*zonePolicy*/,
17733  "" /*format*/,
17734  1680 /*offsetCode (25200/15)*/,
17735  0 /*offsetRemainder (25200%15)*/,
17736  0 /*deltaMinutes*/,
17737  1947 /*untilYear*/,
17738  4 /*untilMonth*/,
17739  1 /*untilDay*/,
17740  0 /*untilTimeCode (0/15)*/,
17741  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17742  },
17743  // 8:00 - %z 1955 Jul 1 01:00
17744  {
17745  nullptr /*zonePolicy*/,
17746  "" /*format*/,
17747  1920 /*offsetCode (28800/15)*/,
17748  0 /*offsetRemainder (28800%15)*/,
17749  0 /*deltaMinutes*/,
17750  1955 /*untilYear*/,
17751  7 /*untilMonth*/,
17752  1 /*untilDay*/,
17753  240 /*untilTimeCode (3600/15)*/,
17754  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17755  },
17756  // 7:00 - %z 1959 Dec 31 23:00
17757  {
17758  nullptr /*zonePolicy*/,
17759  "" /*format*/,
17760  1680 /*offsetCode (25200/15)*/,
17761  0 /*offsetRemainder (25200%15)*/,
17762  0 /*deltaMinutes*/,
17763  1959 /*untilYear*/,
17764  12 /*untilMonth*/,
17765  31 /*untilDay*/,
17766  5520 /*untilTimeCode (82800/15)*/,
17767  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17768  },
17769  // 8:00 - %z 1975 Jun 13
17770  {
17771  nullptr /*zonePolicy*/,
17772  "" /*format*/,
17773  1920 /*offsetCode (28800/15)*/,
17774  0 /*offsetRemainder (28800%15)*/,
17775  0 /*deltaMinutes*/,
17776  1975 /*untilYear*/,
17777  6 /*untilMonth*/,
17778  13 /*untilDay*/,
17779  0 /*untilTimeCode (0/15)*/,
17780  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17781  },
17782  // 7:00 - %z
17783  {
17784  nullptr /*zonePolicy*/,
17785  "" /*format*/,
17786  1680 /*offsetCode (25200/15)*/,
17787  0 /*offsetRemainder (25200%15)*/,
17788  0 /*deltaMinutes*/,
17789  32767 /*untilYear*/,
17790  1 /*untilMonth*/,
17791  1 /*untilDay*/,
17792  0 /*untilTimeCode (0/15)*/,
17793  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17794  },
17795 
17796 };
17797 
17798 static const char kZoneNameAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = "\x05" "Ho_Chi_Minh";
17799 
17800 const complete::ZoneInfo kZoneAsia_Ho_Chi_Minh ACE_TIME_PROGMEM = {
17801  kZoneNameAsia_Ho_Chi_Minh /*name*/,
17802  0x20f2d127 /*zoneId*/,
17803  &kZoneContext /*zoneContext*/,
17804  10 /*numEras*/,
17805  kZoneEraAsia_Ho_Chi_Minh /*eras*/,
17806  nullptr /*targetInfo*/,
17807 };
17808 
17809 //---------------------------------------------------------------------------
17810 // Zone name: Asia/Hong_Kong
17811 // Eras: 6
17812 //---------------------------------------------------------------------------
17813 
17814 static const complete::ZoneEra kZoneEraAsia_Hong_Kong[] ACE_TIME_PROGMEM = {
17815  // 7:36:42 - LMT 1904 Oct 29 17:00u
17816  {
17817  nullptr /*zonePolicy*/,
17818  "LMT" /*format*/,
17819  1826 /*offsetCode (27402/15)*/,
17820  12 /*offsetRemainder (27402%15)*/,
17821  0 /*deltaMinutes*/,
17822  1904 /*untilYear*/,
17823  10 /*untilMonth*/,
17824  29 /*untilDay*/,
17825  4080 /*untilTimeCode (61200/15)*/,
17826  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
17827  },
17828  // 8:00 - HKT 1941 Jun 15 3:00
17829  {
17830  nullptr /*zonePolicy*/,
17831  "HKT" /*format*/,
17832  1920 /*offsetCode (28800/15)*/,
17833  0 /*offsetRemainder (28800%15)*/,
17834  0 /*deltaMinutes*/,
17835  1941 /*untilYear*/,
17836  6 /*untilMonth*/,
17837  15 /*untilDay*/,
17838  720 /*untilTimeCode (10800/15)*/,
17839  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17840  },
17841  // 8:00 1:00 HKST 1941 Oct 1 4:00
17842  {
17843  nullptr /*zonePolicy*/,
17844  "HKST" /*format*/,
17845  1920 /*offsetCode (28800/15)*/,
17846  0 /*offsetRemainder (28800%15)*/,
17847  60 /*deltaMinutes*/,
17848  1941 /*untilYear*/,
17849  10 /*untilMonth*/,
17850  1 /*untilDay*/,
17851  960 /*untilTimeCode (14400/15)*/,
17852  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17853  },
17854  // 8:00 0:30 HKWT 1941 Dec 25
17855  {
17856  nullptr /*zonePolicy*/,
17857  "HKWT" /*format*/,
17858  1920 /*offsetCode (28800/15)*/,
17859  0 /*offsetRemainder (28800%15)*/,
17860  30 /*deltaMinutes*/,
17861  1941 /*untilYear*/,
17862  12 /*untilMonth*/,
17863  25 /*untilDay*/,
17864  0 /*untilTimeCode (0/15)*/,
17865  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17866  },
17867  // 9:00 - JST 1945 Nov 18 2:00
17868  {
17869  nullptr /*zonePolicy*/,
17870  "JST" /*format*/,
17871  2160 /*offsetCode (32400/15)*/,
17872  0 /*offsetRemainder (32400%15)*/,
17873  0 /*deltaMinutes*/,
17874  1945 /*untilYear*/,
17875  11 /*untilMonth*/,
17876  18 /*untilDay*/,
17877  480 /*untilTimeCode (7200/15)*/,
17878  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17879  },
17880  // 8:00 HK HK%sT
17881  {
17882  &kZonePolicyHK /*zonePolicy*/,
17883  "HK%T" /*format*/,
17884  1920 /*offsetCode (28800/15)*/,
17885  0 /*offsetRemainder (28800%15)*/,
17886  0 /*deltaMinutes*/,
17887  32767 /*untilYear*/,
17888  1 /*untilMonth*/,
17889  1 /*untilDay*/,
17890  0 /*untilTimeCode (0/15)*/,
17891  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17892  },
17893 
17894 };
17895 
17896 static const char kZoneNameAsia_Hong_Kong[] ACE_TIME_PROGMEM = "\x05" "Hong_Kong";
17897 
17898 const complete::ZoneInfo kZoneAsia_Hong_Kong ACE_TIME_PROGMEM = {
17899  kZoneNameAsia_Hong_Kong /*name*/,
17900  0x577f28ac /*zoneId*/,
17901  &kZoneContext /*zoneContext*/,
17902  6 /*numEras*/,
17903  kZoneEraAsia_Hong_Kong /*eras*/,
17904  nullptr /*targetInfo*/,
17905 };
17906 
17907 //---------------------------------------------------------------------------
17908 // Zone name: Asia/Hovd
17909 // Eras: 3
17910 //---------------------------------------------------------------------------
17911 
17912 static const complete::ZoneEra kZoneEraAsia_Hovd[] ACE_TIME_PROGMEM = {
17913  // 6:06:36 - LMT 1905 Aug
17914  {
17915  nullptr /*zonePolicy*/,
17916  "LMT" /*format*/,
17917  1466 /*offsetCode (21996/15)*/,
17918  6 /*offsetRemainder (21996%15)*/,
17919  0 /*deltaMinutes*/,
17920  1905 /*untilYear*/,
17921  8 /*untilMonth*/,
17922  1 /*untilDay*/,
17923  0 /*untilTimeCode (0/15)*/,
17924  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17925  },
17926  // 6:00 - %z 1978
17927  {
17928  nullptr /*zonePolicy*/,
17929  "" /*format*/,
17930  1440 /*offsetCode (21600/15)*/,
17931  0 /*offsetRemainder (21600%15)*/,
17932  0 /*deltaMinutes*/,
17933  1978 /*untilYear*/,
17934  1 /*untilMonth*/,
17935  1 /*untilDay*/,
17936  0 /*untilTimeCode (0/15)*/,
17937  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17938  },
17939  // 7:00 Mongol %z
17940  {
17941  &kZonePolicyMongol /*zonePolicy*/,
17942  "" /*format*/,
17943  1680 /*offsetCode (25200/15)*/,
17944  0 /*offsetRemainder (25200%15)*/,
17945  0 /*deltaMinutes*/,
17946  32767 /*untilYear*/,
17947  1 /*untilMonth*/,
17948  1 /*untilDay*/,
17949  0 /*untilTimeCode (0/15)*/,
17950  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17951  },
17952 
17953 };
17954 
17955 static const char kZoneNameAsia_Hovd[] ACE_TIME_PROGMEM = "\x05" "Hovd";
17956 
17957 const complete::ZoneInfo kZoneAsia_Hovd ACE_TIME_PROGMEM = {
17958  kZoneNameAsia_Hovd /*name*/,
17959  0x1fab0fe3 /*zoneId*/,
17960  &kZoneContext /*zoneContext*/,
17961  3 /*numEras*/,
17962  kZoneEraAsia_Hovd /*eras*/,
17963  nullptr /*targetInfo*/,
17964 };
17965 
17966 //---------------------------------------------------------------------------
17967 // Zone name: Asia/Irkutsk
17968 // Eras: 8
17969 //---------------------------------------------------------------------------
17970 
17971 static const complete::ZoneEra kZoneEraAsia_Irkutsk[] ACE_TIME_PROGMEM = {
17972  // 6:57:05 - LMT 1880
17973  {
17974  nullptr /*zonePolicy*/,
17975  "LMT" /*format*/,
17976  1668 /*offsetCode (25025/15)*/,
17977  5 /*offsetRemainder (25025%15)*/,
17978  0 /*deltaMinutes*/,
17979  1880 /*untilYear*/,
17980  1 /*untilMonth*/,
17981  1 /*untilDay*/,
17982  0 /*untilTimeCode (0/15)*/,
17983  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17984  },
17985  // 6:57:05 - IMT 1920 Jan 25
17986  {
17987  nullptr /*zonePolicy*/,
17988  "IMT" /*format*/,
17989  1668 /*offsetCode (25025/15)*/,
17990  5 /*offsetRemainder (25025%15)*/,
17991  0 /*deltaMinutes*/,
17992  1920 /*untilYear*/,
17993  1 /*untilMonth*/,
17994  25 /*untilDay*/,
17995  0 /*untilTimeCode (0/15)*/,
17996  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
17997  },
17998  // 7:00 - %z 1930 Jun 21
17999  {
18000  nullptr /*zonePolicy*/,
18001  "" /*format*/,
18002  1680 /*offsetCode (25200/15)*/,
18003  0 /*offsetRemainder (25200%15)*/,
18004  0 /*deltaMinutes*/,
18005  1930 /*untilYear*/,
18006  6 /*untilMonth*/,
18007  21 /*untilDay*/,
18008  0 /*untilTimeCode (0/15)*/,
18009  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18010  },
18011  // 8:00 Russia %z 1991 Mar 31 2:00s
18012  {
18013  &kZonePolicyRussia /*zonePolicy*/,
18014  "" /*format*/,
18015  1920 /*offsetCode (28800/15)*/,
18016  0 /*offsetRemainder (28800%15)*/,
18017  0 /*deltaMinutes*/,
18018  1991 /*untilYear*/,
18019  3 /*untilMonth*/,
18020  31 /*untilDay*/,
18021  480 /*untilTimeCode (7200/15)*/,
18022  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18023  },
18024  // 7:00 Russia %z 1992 Jan 19 2:00s
18025  {
18026  &kZonePolicyRussia /*zonePolicy*/,
18027  "" /*format*/,
18028  1680 /*offsetCode (25200/15)*/,
18029  0 /*offsetRemainder (25200%15)*/,
18030  0 /*deltaMinutes*/,
18031  1992 /*untilYear*/,
18032  1 /*untilMonth*/,
18033  19 /*untilDay*/,
18034  480 /*untilTimeCode (7200/15)*/,
18035  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18036  },
18037  // 8:00 Russia %z 2011 Mar 27 2:00s
18038  {
18039  &kZonePolicyRussia /*zonePolicy*/,
18040  "" /*format*/,
18041  1920 /*offsetCode (28800/15)*/,
18042  0 /*offsetRemainder (28800%15)*/,
18043  0 /*deltaMinutes*/,
18044  2011 /*untilYear*/,
18045  3 /*untilMonth*/,
18046  27 /*untilDay*/,
18047  480 /*untilTimeCode (7200/15)*/,
18048  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18049  },
18050  // 9:00 - %z 2014 Oct 26 2:00s
18051  {
18052  nullptr /*zonePolicy*/,
18053  "" /*format*/,
18054  2160 /*offsetCode (32400/15)*/,
18055  0 /*offsetRemainder (32400%15)*/,
18056  0 /*deltaMinutes*/,
18057  2014 /*untilYear*/,
18058  10 /*untilMonth*/,
18059  26 /*untilDay*/,
18060  480 /*untilTimeCode (7200/15)*/,
18061  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18062  },
18063  // 8:00 - %z
18064  {
18065  nullptr /*zonePolicy*/,
18066  "" /*format*/,
18067  1920 /*offsetCode (28800/15)*/,
18068  0 /*offsetRemainder (28800%15)*/,
18069  0 /*deltaMinutes*/,
18070  32767 /*untilYear*/,
18071  1 /*untilMonth*/,
18072  1 /*untilDay*/,
18073  0 /*untilTimeCode (0/15)*/,
18074  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18075  },
18076 
18077 };
18078 
18079 static const char kZoneNameAsia_Irkutsk[] ACE_TIME_PROGMEM = "\x05" "Irkutsk";
18080 
18081 const complete::ZoneInfo kZoneAsia_Irkutsk ACE_TIME_PROGMEM = {
18082  kZoneNameAsia_Irkutsk /*name*/,
18083  0xdfbf213f /*zoneId*/,
18084  &kZoneContext /*zoneContext*/,
18085  8 /*numEras*/,
18086  kZoneEraAsia_Irkutsk /*eras*/,
18087  nullptr /*targetInfo*/,
18088 };
18089 
18090 //---------------------------------------------------------------------------
18091 // Zone name: Asia/Jakarta
18092 // Eras: 9
18093 //---------------------------------------------------------------------------
18094 
18095 static const complete::ZoneEra kZoneEraAsia_Jakarta[] ACE_TIME_PROGMEM = {
18096  // 7:07:12 - LMT 1867 Aug 10
18097  {
18098  nullptr /*zonePolicy*/,
18099  "LMT" /*format*/,
18100  1708 /*offsetCode (25632/15)*/,
18101  12 /*offsetRemainder (25632%15)*/,
18102  0 /*deltaMinutes*/,
18103  1867 /*untilYear*/,
18104  8 /*untilMonth*/,
18105  10 /*untilDay*/,
18106  0 /*untilTimeCode (0/15)*/,
18107  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18108  },
18109  // 7:07:12 - BMT 1923 Dec 31 16:40u
18110  {
18111  nullptr /*zonePolicy*/,
18112  "BMT" /*format*/,
18113  1708 /*offsetCode (25632/15)*/,
18114  12 /*offsetRemainder (25632%15)*/,
18115  0 /*deltaMinutes*/,
18116  1923 /*untilYear*/,
18117  12 /*untilMonth*/,
18118  31 /*untilDay*/,
18119  4000 /*untilTimeCode (60000/15)*/,
18120  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
18121  },
18122  // 7:20 - %z 1932 Nov
18123  {
18124  nullptr /*zonePolicy*/,
18125  "" /*format*/,
18126  1760 /*offsetCode (26400/15)*/,
18127  0 /*offsetRemainder (26400%15)*/,
18128  0 /*deltaMinutes*/,
18129  1932 /*untilYear*/,
18130  11 /*untilMonth*/,
18131  1 /*untilDay*/,
18132  0 /*untilTimeCode (0/15)*/,
18133  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18134  },
18135  // 7:30 - %z 1942 Mar 23
18136  {
18137  nullptr /*zonePolicy*/,
18138  "" /*format*/,
18139  1800 /*offsetCode (27000/15)*/,
18140  0 /*offsetRemainder (27000%15)*/,
18141  0 /*deltaMinutes*/,
18142  1942 /*untilYear*/,
18143  3 /*untilMonth*/,
18144  23 /*untilDay*/,
18145  0 /*untilTimeCode (0/15)*/,
18146  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18147  },
18148  // 9:00 - %z 1945 Sep 23
18149  {
18150  nullptr /*zonePolicy*/,
18151  "" /*format*/,
18152  2160 /*offsetCode (32400/15)*/,
18153  0 /*offsetRemainder (32400%15)*/,
18154  0 /*deltaMinutes*/,
18155  1945 /*untilYear*/,
18156  9 /*untilMonth*/,
18157  23 /*untilDay*/,
18158  0 /*untilTimeCode (0/15)*/,
18159  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18160  },
18161  // 7:30 - %z 1948 May
18162  {
18163  nullptr /*zonePolicy*/,
18164  "" /*format*/,
18165  1800 /*offsetCode (27000/15)*/,
18166  0 /*offsetRemainder (27000%15)*/,
18167  0 /*deltaMinutes*/,
18168  1948 /*untilYear*/,
18169  5 /*untilMonth*/,
18170  1 /*untilDay*/,
18171  0 /*untilTimeCode (0/15)*/,
18172  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18173  },
18174  // 8:00 - %z 1950 May
18175  {
18176  nullptr /*zonePolicy*/,
18177  "" /*format*/,
18178  1920 /*offsetCode (28800/15)*/,
18179  0 /*offsetRemainder (28800%15)*/,
18180  0 /*deltaMinutes*/,
18181  1950 /*untilYear*/,
18182  5 /*untilMonth*/,
18183  1 /*untilDay*/,
18184  0 /*untilTimeCode (0/15)*/,
18185  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18186  },
18187  // 7:30 - %z 1964
18188  {
18189  nullptr /*zonePolicy*/,
18190  "" /*format*/,
18191  1800 /*offsetCode (27000/15)*/,
18192  0 /*offsetRemainder (27000%15)*/,
18193  0 /*deltaMinutes*/,
18194  1964 /*untilYear*/,
18195  1 /*untilMonth*/,
18196  1 /*untilDay*/,
18197  0 /*untilTimeCode (0/15)*/,
18198  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18199  },
18200  // 7:00 - WIB
18201  {
18202  nullptr /*zonePolicy*/,
18203  "WIB" /*format*/,
18204  1680 /*offsetCode (25200/15)*/,
18205  0 /*offsetRemainder (25200%15)*/,
18206  0 /*deltaMinutes*/,
18207  32767 /*untilYear*/,
18208  1 /*untilMonth*/,
18209  1 /*untilDay*/,
18210  0 /*untilTimeCode (0/15)*/,
18211  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18212  },
18213 
18214 };
18215 
18216 static const char kZoneNameAsia_Jakarta[] ACE_TIME_PROGMEM = "\x05" "Jakarta";
18217 
18218 const complete::ZoneInfo kZoneAsia_Jakarta ACE_TIME_PROGMEM = {
18219  kZoneNameAsia_Jakarta /*name*/,
18220  0x0506ab50 /*zoneId*/,
18221  &kZoneContext /*zoneContext*/,
18222  9 /*numEras*/,
18223  kZoneEraAsia_Jakarta /*eras*/,
18224  nullptr /*targetInfo*/,
18225 };
18226 
18227 //---------------------------------------------------------------------------
18228 // Zone name: Asia/Jayapura
18229 // Eras: 4
18230 //---------------------------------------------------------------------------
18231 
18232 static const complete::ZoneEra kZoneEraAsia_Jayapura[] ACE_TIME_PROGMEM = {
18233  // 9:22:48 - LMT 1932 Nov
18234  {
18235  nullptr /*zonePolicy*/,
18236  "LMT" /*format*/,
18237  2251 /*offsetCode (33768/15)*/,
18238  3 /*offsetRemainder (33768%15)*/,
18239  0 /*deltaMinutes*/,
18240  1932 /*untilYear*/,
18241  11 /*untilMonth*/,
18242  1 /*untilDay*/,
18243  0 /*untilTimeCode (0/15)*/,
18244  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18245  },
18246  // 9:00 - %z 1944 Sep 1
18247  {
18248  nullptr /*zonePolicy*/,
18249  "" /*format*/,
18250  2160 /*offsetCode (32400/15)*/,
18251  0 /*offsetRemainder (32400%15)*/,
18252  0 /*deltaMinutes*/,
18253  1944 /*untilYear*/,
18254  9 /*untilMonth*/,
18255  1 /*untilDay*/,
18256  0 /*untilTimeCode (0/15)*/,
18257  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18258  },
18259  // 9:30 - %z 1964
18260  {
18261  nullptr /*zonePolicy*/,
18262  "" /*format*/,
18263  2280 /*offsetCode (34200/15)*/,
18264  0 /*offsetRemainder (34200%15)*/,
18265  0 /*deltaMinutes*/,
18266  1964 /*untilYear*/,
18267  1 /*untilMonth*/,
18268  1 /*untilDay*/,
18269  0 /*untilTimeCode (0/15)*/,
18270  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18271  },
18272  // 9:00 - WIT
18273  {
18274  nullptr /*zonePolicy*/,
18275  "WIT" /*format*/,
18276  2160 /*offsetCode (32400/15)*/,
18277  0 /*offsetRemainder (32400%15)*/,
18278  0 /*deltaMinutes*/,
18279  32767 /*untilYear*/,
18280  1 /*untilMonth*/,
18281  1 /*untilDay*/,
18282  0 /*untilTimeCode (0/15)*/,
18283  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18284  },
18285 
18286 };
18287 
18288 static const char kZoneNameAsia_Jayapura[] ACE_TIME_PROGMEM = "\x05" "Jayapura";
18289 
18290 const complete::ZoneInfo kZoneAsia_Jayapura ACE_TIME_PROGMEM = {
18291  kZoneNameAsia_Jayapura /*name*/,
18292  0xc6833c2f /*zoneId*/,
18293  &kZoneContext /*zoneContext*/,
18294  4 /*numEras*/,
18295  kZoneEraAsia_Jayapura /*eras*/,
18296  nullptr /*targetInfo*/,
18297 };
18298 
18299 //---------------------------------------------------------------------------
18300 // Zone name: Asia/Jerusalem
18301 // Eras: 3
18302 //---------------------------------------------------------------------------
18303 
18304 static const complete::ZoneEra kZoneEraAsia_Jerusalem[] ACE_TIME_PROGMEM = {
18305  // 2:20:54 - LMT 1880
18306  {
18307  nullptr /*zonePolicy*/,
18308  "LMT" /*format*/,
18309  563 /*offsetCode (8454/15)*/,
18310  9 /*offsetRemainder (8454%15)*/,
18311  0 /*deltaMinutes*/,
18312  1880 /*untilYear*/,
18313  1 /*untilMonth*/,
18314  1 /*untilDay*/,
18315  0 /*untilTimeCode (0/15)*/,
18316  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18317  },
18318  // 2:20:40 - JMT 1918
18319  {
18320  nullptr /*zonePolicy*/,
18321  "JMT" /*format*/,
18322  562 /*offsetCode (8440/15)*/,
18323  10 /*offsetRemainder (8440%15)*/,
18324  0 /*deltaMinutes*/,
18325  1918 /*untilYear*/,
18326  1 /*untilMonth*/,
18327  1 /*untilDay*/,
18328  0 /*untilTimeCode (0/15)*/,
18329  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18330  },
18331  // 2:00 Zion I%sT
18332  {
18333  &kZonePolicyZion /*zonePolicy*/,
18334  "I%T" /*format*/,
18335  480 /*offsetCode (7200/15)*/,
18336  0 /*offsetRemainder (7200%15)*/,
18337  0 /*deltaMinutes*/,
18338  32767 /*untilYear*/,
18339  1 /*untilMonth*/,
18340  1 /*untilDay*/,
18341  0 /*untilTimeCode (0/15)*/,
18342  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18343  },
18344 
18345 };
18346 
18347 static const char kZoneNameAsia_Jerusalem[] ACE_TIME_PROGMEM = "\x05" "Jerusalem";
18348 
18349 const complete::ZoneInfo kZoneAsia_Jerusalem ACE_TIME_PROGMEM = {
18350  kZoneNameAsia_Jerusalem /*name*/,
18351  0x5becd23a /*zoneId*/,
18352  &kZoneContext /*zoneContext*/,
18353  3 /*numEras*/,
18354  kZoneEraAsia_Jerusalem /*eras*/,
18355  nullptr /*targetInfo*/,
18356 };
18357 
18358 //---------------------------------------------------------------------------
18359 // Zone name: Asia/Kabul
18360 // Eras: 3
18361 //---------------------------------------------------------------------------
18362 
18363 static const complete::ZoneEra kZoneEraAsia_Kabul[] ACE_TIME_PROGMEM = {
18364  // 4:36:48 - LMT 1890
18365  {
18366  nullptr /*zonePolicy*/,
18367  "LMT" /*format*/,
18368  1107 /*offsetCode (16608/15)*/,
18369  3 /*offsetRemainder (16608%15)*/,
18370  0 /*deltaMinutes*/,
18371  1890 /*untilYear*/,
18372  1 /*untilMonth*/,
18373  1 /*untilDay*/,
18374  0 /*untilTimeCode (0/15)*/,
18375  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18376  },
18377  // 4:00 - %z 1945
18378  {
18379  nullptr /*zonePolicy*/,
18380  "" /*format*/,
18381  960 /*offsetCode (14400/15)*/,
18382  0 /*offsetRemainder (14400%15)*/,
18383  0 /*deltaMinutes*/,
18384  1945 /*untilYear*/,
18385  1 /*untilMonth*/,
18386  1 /*untilDay*/,
18387  0 /*untilTimeCode (0/15)*/,
18388  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18389  },
18390  // 4:30 - %z
18391  {
18392  nullptr /*zonePolicy*/,
18393  "" /*format*/,
18394  1080 /*offsetCode (16200/15)*/,
18395  0 /*offsetRemainder (16200%15)*/,
18396  0 /*deltaMinutes*/,
18397  32767 /*untilYear*/,
18398  1 /*untilMonth*/,
18399  1 /*untilDay*/,
18400  0 /*untilTimeCode (0/15)*/,
18401  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18402  },
18403 
18404 };
18405 
18406 static const char kZoneNameAsia_Kabul[] ACE_TIME_PROGMEM = "\x05" "Kabul";
18407 
18408 const complete::ZoneInfo kZoneAsia_Kabul ACE_TIME_PROGMEM = {
18409  kZoneNameAsia_Kabul /*name*/,
18410  0x153b5601 /*zoneId*/,
18411  &kZoneContext /*zoneContext*/,
18412  3 /*numEras*/,
18413  kZoneEraAsia_Kabul /*eras*/,
18414  nullptr /*targetInfo*/,
18415 };
18416 
18417 //---------------------------------------------------------------------------
18418 // Zone name: Asia/Kamchatka
18419 // Eras: 7
18420 //---------------------------------------------------------------------------
18421 
18422 static const complete::ZoneEra kZoneEraAsia_Kamchatka[] ACE_TIME_PROGMEM = {
18423  // 10:34:36 - LMT 1922 Nov 10
18424  {
18425  nullptr /*zonePolicy*/,
18426  "LMT" /*format*/,
18427  2538 /*offsetCode (38076/15)*/,
18428  6 /*offsetRemainder (38076%15)*/,
18429  0 /*deltaMinutes*/,
18430  1922 /*untilYear*/,
18431  11 /*untilMonth*/,
18432  10 /*untilDay*/,
18433  0 /*untilTimeCode (0/15)*/,
18434  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18435  },
18436  // 11:00 - %z 1930 Jun 21
18437  {
18438  nullptr /*zonePolicy*/,
18439  "" /*format*/,
18440  2640 /*offsetCode (39600/15)*/,
18441  0 /*offsetRemainder (39600%15)*/,
18442  0 /*deltaMinutes*/,
18443  1930 /*untilYear*/,
18444  6 /*untilMonth*/,
18445  21 /*untilDay*/,
18446  0 /*untilTimeCode (0/15)*/,
18447  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18448  },
18449  // 12:00 Russia %z 1991 Mar 31 2:00s
18450  {
18451  &kZonePolicyRussia /*zonePolicy*/,
18452  "" /*format*/,
18453  2880 /*offsetCode (43200/15)*/,
18454  0 /*offsetRemainder (43200%15)*/,
18455  0 /*deltaMinutes*/,
18456  1991 /*untilYear*/,
18457  3 /*untilMonth*/,
18458  31 /*untilDay*/,
18459  480 /*untilTimeCode (7200/15)*/,
18460  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18461  },
18462  // 11:00 Russia %z 1992 Jan 19 2:00s
18463  {
18464  &kZonePolicyRussia /*zonePolicy*/,
18465  "" /*format*/,
18466  2640 /*offsetCode (39600/15)*/,
18467  0 /*offsetRemainder (39600%15)*/,
18468  0 /*deltaMinutes*/,
18469  1992 /*untilYear*/,
18470  1 /*untilMonth*/,
18471  19 /*untilDay*/,
18472  480 /*untilTimeCode (7200/15)*/,
18473  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18474  },
18475  // 12:00 Russia %z 2010 Mar 28 2:00s
18476  {
18477  &kZonePolicyRussia /*zonePolicy*/,
18478  "" /*format*/,
18479  2880 /*offsetCode (43200/15)*/,
18480  0 /*offsetRemainder (43200%15)*/,
18481  0 /*deltaMinutes*/,
18482  2010 /*untilYear*/,
18483  3 /*untilMonth*/,
18484  28 /*untilDay*/,
18485  480 /*untilTimeCode (7200/15)*/,
18486  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18487  },
18488  // 11:00 Russia %z 2011 Mar 27 2:00s
18489  {
18490  &kZonePolicyRussia /*zonePolicy*/,
18491  "" /*format*/,
18492  2640 /*offsetCode (39600/15)*/,
18493  0 /*offsetRemainder (39600%15)*/,
18494  0 /*deltaMinutes*/,
18495  2011 /*untilYear*/,
18496  3 /*untilMonth*/,
18497  27 /*untilDay*/,
18498  480 /*untilTimeCode (7200/15)*/,
18499  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18500  },
18501  // 12:00 - %z
18502  {
18503  nullptr /*zonePolicy*/,
18504  "" /*format*/,
18505  2880 /*offsetCode (43200/15)*/,
18506  0 /*offsetRemainder (43200%15)*/,
18507  0 /*deltaMinutes*/,
18508  32767 /*untilYear*/,
18509  1 /*untilMonth*/,
18510  1 /*untilDay*/,
18511  0 /*untilTimeCode (0/15)*/,
18512  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18513  },
18514 
18515 };
18516 
18517 static const char kZoneNameAsia_Kamchatka[] ACE_TIME_PROGMEM = "\x05" "Kamchatka";
18518 
18519 const complete::ZoneInfo kZoneAsia_Kamchatka ACE_TIME_PROGMEM = {
18520  kZoneNameAsia_Kamchatka /*name*/,
18521  0x73baf9d7 /*zoneId*/,
18522  &kZoneContext /*zoneContext*/,
18523  7 /*numEras*/,
18524  kZoneEraAsia_Kamchatka /*eras*/,
18525  nullptr /*targetInfo*/,
18526 };
18527 
18528 //---------------------------------------------------------------------------
18529 // Zone name: Asia/Karachi
18530 // Eras: 6
18531 //---------------------------------------------------------------------------
18532 
18533 static const complete::ZoneEra kZoneEraAsia_Karachi[] ACE_TIME_PROGMEM = {
18534  // 4:28:12 - LMT 1907
18535  {
18536  nullptr /*zonePolicy*/,
18537  "LMT" /*format*/,
18538  1072 /*offsetCode (16092/15)*/,
18539  12 /*offsetRemainder (16092%15)*/,
18540  0 /*deltaMinutes*/,
18541  1907 /*untilYear*/,
18542  1 /*untilMonth*/,
18543  1 /*untilDay*/,
18544  0 /*untilTimeCode (0/15)*/,
18545  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18546  },
18547  // 5:30 - %z 1942 Sep
18548  {
18549  nullptr /*zonePolicy*/,
18550  "" /*format*/,
18551  1320 /*offsetCode (19800/15)*/,
18552  0 /*offsetRemainder (19800%15)*/,
18553  0 /*deltaMinutes*/,
18554  1942 /*untilYear*/,
18555  9 /*untilMonth*/,
18556  1 /*untilDay*/,
18557  0 /*untilTimeCode (0/15)*/,
18558  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18559  },
18560  // 5:30 1:00 %z 1945 Oct 15
18561  {
18562  nullptr /*zonePolicy*/,
18563  "" /*format*/,
18564  1320 /*offsetCode (19800/15)*/,
18565  0 /*offsetRemainder (19800%15)*/,
18566  60 /*deltaMinutes*/,
18567  1945 /*untilYear*/,
18568  10 /*untilMonth*/,
18569  15 /*untilDay*/,
18570  0 /*untilTimeCode (0/15)*/,
18571  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18572  },
18573  // 5:30 - %z 1951 Sep 30
18574  {
18575  nullptr /*zonePolicy*/,
18576  "" /*format*/,
18577  1320 /*offsetCode (19800/15)*/,
18578  0 /*offsetRemainder (19800%15)*/,
18579  0 /*deltaMinutes*/,
18580  1951 /*untilYear*/,
18581  9 /*untilMonth*/,
18582  30 /*untilDay*/,
18583  0 /*untilTimeCode (0/15)*/,
18584  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18585  },
18586  // 5:00 - %z 1971 Mar 26
18587  {
18588  nullptr /*zonePolicy*/,
18589  "" /*format*/,
18590  1200 /*offsetCode (18000/15)*/,
18591  0 /*offsetRemainder (18000%15)*/,
18592  0 /*deltaMinutes*/,
18593  1971 /*untilYear*/,
18594  3 /*untilMonth*/,
18595  26 /*untilDay*/,
18596  0 /*untilTimeCode (0/15)*/,
18597  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18598  },
18599  // 5:00 Pakistan PK%sT
18600  {
18601  &kZonePolicyPakistan /*zonePolicy*/,
18602  "PK%T" /*format*/,
18603  1200 /*offsetCode (18000/15)*/,
18604  0 /*offsetRemainder (18000%15)*/,
18605  0 /*deltaMinutes*/,
18606  32767 /*untilYear*/,
18607  1 /*untilMonth*/,
18608  1 /*untilDay*/,
18609  0 /*untilTimeCode (0/15)*/,
18610  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18611  },
18612 
18613 };
18614 
18615 static const char kZoneNameAsia_Karachi[] ACE_TIME_PROGMEM = "\x05" "Karachi";
18616 
18617 const complete::ZoneInfo kZoneAsia_Karachi ACE_TIME_PROGMEM = {
18618  kZoneNameAsia_Karachi /*name*/,
18619  0x527f5245 /*zoneId*/,
18620  &kZoneContext /*zoneContext*/,
18621  6 /*numEras*/,
18622  kZoneEraAsia_Karachi /*eras*/,
18623  nullptr /*targetInfo*/,
18624 };
18625 
18626 //---------------------------------------------------------------------------
18627 // Zone name: Asia/Kathmandu
18628 // Eras: 3
18629 //---------------------------------------------------------------------------
18630 
18631 static const complete::ZoneEra kZoneEraAsia_Kathmandu[] ACE_TIME_PROGMEM = {
18632  // 5:41:16 - LMT 1920
18633  {
18634  nullptr /*zonePolicy*/,
18635  "LMT" /*format*/,
18636  1365 /*offsetCode (20476/15)*/,
18637  1 /*offsetRemainder (20476%15)*/,
18638  0 /*deltaMinutes*/,
18639  1920 /*untilYear*/,
18640  1 /*untilMonth*/,
18641  1 /*untilDay*/,
18642  0 /*untilTimeCode (0/15)*/,
18643  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18644  },
18645  // 5:30 - %z 1986
18646  {
18647  nullptr /*zonePolicy*/,
18648  "" /*format*/,
18649  1320 /*offsetCode (19800/15)*/,
18650  0 /*offsetRemainder (19800%15)*/,
18651  0 /*deltaMinutes*/,
18652  1986 /*untilYear*/,
18653  1 /*untilMonth*/,
18654  1 /*untilDay*/,
18655  0 /*untilTimeCode (0/15)*/,
18656  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18657  },
18658  // 5:45 - %z
18659  {
18660  nullptr /*zonePolicy*/,
18661  "" /*format*/,
18662  1380 /*offsetCode (20700/15)*/,
18663  0 /*offsetRemainder (20700%15)*/,
18664  0 /*deltaMinutes*/,
18665  32767 /*untilYear*/,
18666  1 /*untilMonth*/,
18667  1 /*untilDay*/,
18668  0 /*untilTimeCode (0/15)*/,
18669  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18670  },
18671 
18672 };
18673 
18674 static const char kZoneNameAsia_Kathmandu[] ACE_TIME_PROGMEM = "\x05" "Kathmandu";
18675 
18676 const complete::ZoneInfo kZoneAsia_Kathmandu ACE_TIME_PROGMEM = {
18677  kZoneNameAsia_Kathmandu /*name*/,
18678  0x9a96ce6f /*zoneId*/,
18679  &kZoneContext /*zoneContext*/,
18680  3 /*numEras*/,
18681  kZoneEraAsia_Kathmandu /*eras*/,
18682  nullptr /*targetInfo*/,
18683 };
18684 
18685 //---------------------------------------------------------------------------
18686 // Zone name: Asia/Khandyga
18687 // Eras: 9
18688 //---------------------------------------------------------------------------
18689 
18690 static const complete::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = {
18691  // 9:02:13 - LMT 1919 Dec 15
18692  {
18693  nullptr /*zonePolicy*/,
18694  "LMT" /*format*/,
18695  2168 /*offsetCode (32533/15)*/,
18696  13 /*offsetRemainder (32533%15)*/,
18697  0 /*deltaMinutes*/,
18698  1919 /*untilYear*/,
18699  12 /*untilMonth*/,
18700  15 /*untilDay*/,
18701  0 /*untilTimeCode (0/15)*/,
18702  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18703  },
18704  // 8:00 - %z 1930 Jun 21
18705  {
18706  nullptr /*zonePolicy*/,
18707  "" /*format*/,
18708  1920 /*offsetCode (28800/15)*/,
18709  0 /*offsetRemainder (28800%15)*/,
18710  0 /*deltaMinutes*/,
18711  1930 /*untilYear*/,
18712  6 /*untilMonth*/,
18713  21 /*untilDay*/,
18714  0 /*untilTimeCode (0/15)*/,
18715  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18716  },
18717  // 9:00 Russia %z 1991 Mar 31 2:00s
18718  {
18719  &kZonePolicyRussia /*zonePolicy*/,
18720  "" /*format*/,
18721  2160 /*offsetCode (32400/15)*/,
18722  0 /*offsetRemainder (32400%15)*/,
18723  0 /*deltaMinutes*/,
18724  1991 /*untilYear*/,
18725  3 /*untilMonth*/,
18726  31 /*untilDay*/,
18727  480 /*untilTimeCode (7200/15)*/,
18728  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18729  },
18730  // 8:00 Russia %z 1992 Jan 19 2:00s
18731  {
18732  &kZonePolicyRussia /*zonePolicy*/,
18733  "" /*format*/,
18734  1920 /*offsetCode (28800/15)*/,
18735  0 /*offsetRemainder (28800%15)*/,
18736  0 /*deltaMinutes*/,
18737  1992 /*untilYear*/,
18738  1 /*untilMonth*/,
18739  19 /*untilDay*/,
18740  480 /*untilTimeCode (7200/15)*/,
18741  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18742  },
18743  // 9:00 Russia %z 2004
18744  {
18745  &kZonePolicyRussia /*zonePolicy*/,
18746  "" /*format*/,
18747  2160 /*offsetCode (32400/15)*/,
18748  0 /*offsetRemainder (32400%15)*/,
18749  0 /*deltaMinutes*/,
18750  2004 /*untilYear*/,
18751  1 /*untilMonth*/,
18752  1 /*untilDay*/,
18753  0 /*untilTimeCode (0/15)*/,
18754  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18755  },
18756  // 10:00 Russia %z 2011 Mar 27 2:00s
18757  {
18758  &kZonePolicyRussia /*zonePolicy*/,
18759  "" /*format*/,
18760  2400 /*offsetCode (36000/15)*/,
18761  0 /*offsetRemainder (36000%15)*/,
18762  0 /*deltaMinutes*/,
18763  2011 /*untilYear*/,
18764  3 /*untilMonth*/,
18765  27 /*untilDay*/,
18766  480 /*untilTimeCode (7200/15)*/,
18767  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18768  },
18769  // 11:00 - %z 2011 Sep 13 0:00s
18770  {
18771  nullptr /*zonePolicy*/,
18772  "" /*format*/,
18773  2640 /*offsetCode (39600/15)*/,
18774  0 /*offsetRemainder (39600%15)*/,
18775  0 /*deltaMinutes*/,
18776  2011 /*untilYear*/,
18777  9 /*untilMonth*/,
18778  13 /*untilDay*/,
18779  0 /*untilTimeCode (0/15)*/,
18780  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18781  },
18782  // 10:00 - %z 2014 Oct 26 2:00s
18783  {
18784  nullptr /*zonePolicy*/,
18785  "" /*format*/,
18786  2400 /*offsetCode (36000/15)*/,
18787  0 /*offsetRemainder (36000%15)*/,
18788  0 /*deltaMinutes*/,
18789  2014 /*untilYear*/,
18790  10 /*untilMonth*/,
18791  26 /*untilDay*/,
18792  480 /*untilTimeCode (7200/15)*/,
18793  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18794  },
18795  // 9:00 - %z
18796  {
18797  nullptr /*zonePolicy*/,
18798  "" /*format*/,
18799  2160 /*offsetCode (32400/15)*/,
18800  0 /*offsetRemainder (32400%15)*/,
18801  0 /*deltaMinutes*/,
18802  32767 /*untilYear*/,
18803  1 /*untilMonth*/,
18804  1 /*untilDay*/,
18805  0 /*untilTimeCode (0/15)*/,
18806  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18807  },
18808 
18809 };
18810 
18811 static const char kZoneNameAsia_Khandyga[] ACE_TIME_PROGMEM = "\x05" "Khandyga";
18812 
18813 const complete::ZoneInfo kZoneAsia_Khandyga ACE_TIME_PROGMEM = {
18814  kZoneNameAsia_Khandyga /*name*/,
18815  0x9685a4d9 /*zoneId*/,
18816  &kZoneContext /*zoneContext*/,
18817  9 /*numEras*/,
18818  kZoneEraAsia_Khandyga /*eras*/,
18819  nullptr /*targetInfo*/,
18820 };
18821 
18822 //---------------------------------------------------------------------------
18823 // Zone name: Asia/Kolkata
18824 // Eras: 8
18825 //---------------------------------------------------------------------------
18826 
18827 static const complete::ZoneEra kZoneEraAsia_Kolkata[] ACE_TIME_PROGMEM = {
18828  // 5:53:28 - LMT 1854 Jun 28
18829  {
18830  nullptr /*zonePolicy*/,
18831  "LMT" /*format*/,
18832  1413 /*offsetCode (21208/15)*/,
18833  13 /*offsetRemainder (21208%15)*/,
18834  0 /*deltaMinutes*/,
18835  1854 /*untilYear*/,
18836  6 /*untilMonth*/,
18837  28 /*untilDay*/,
18838  0 /*untilTimeCode (0/15)*/,
18839  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18840  },
18841  // 5:53:20 - HMT 1870
18842  {
18843  nullptr /*zonePolicy*/,
18844  "HMT" /*format*/,
18845  1413 /*offsetCode (21200/15)*/,
18846  5 /*offsetRemainder (21200%15)*/,
18847  0 /*deltaMinutes*/,
18848  1870 /*untilYear*/,
18849  1 /*untilMonth*/,
18850  1 /*untilDay*/,
18851  0 /*untilTimeCode (0/15)*/,
18852  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18853  },
18854  // 5:21:10 - MMT 1906 Jan 1
18855  {
18856  nullptr /*zonePolicy*/,
18857  "MMT" /*format*/,
18858  1284 /*offsetCode (19270/15)*/,
18859  10 /*offsetRemainder (19270%15)*/,
18860  0 /*deltaMinutes*/,
18861  1906 /*untilYear*/,
18862  1 /*untilMonth*/,
18863  1 /*untilDay*/,
18864  0 /*untilTimeCode (0/15)*/,
18865  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18866  },
18867  // 5:30 - IST 1941 Oct
18868  {
18869  nullptr /*zonePolicy*/,
18870  "IST" /*format*/,
18871  1320 /*offsetCode (19800/15)*/,
18872  0 /*offsetRemainder (19800%15)*/,
18873  0 /*deltaMinutes*/,
18874  1941 /*untilYear*/,
18875  10 /*untilMonth*/,
18876  1 /*untilDay*/,
18877  0 /*untilTimeCode (0/15)*/,
18878  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18879  },
18880  // 5:30 1:00 %z 1942 May 15
18881  {
18882  nullptr /*zonePolicy*/,
18883  "" /*format*/,
18884  1320 /*offsetCode (19800/15)*/,
18885  0 /*offsetRemainder (19800%15)*/,
18886  60 /*deltaMinutes*/,
18887  1942 /*untilYear*/,
18888  5 /*untilMonth*/,
18889  15 /*untilDay*/,
18890  0 /*untilTimeCode (0/15)*/,
18891  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18892  },
18893  // 5:30 - IST 1942 Sep
18894  {
18895  nullptr /*zonePolicy*/,
18896  "IST" /*format*/,
18897  1320 /*offsetCode (19800/15)*/,
18898  0 /*offsetRemainder (19800%15)*/,
18899  0 /*deltaMinutes*/,
18900  1942 /*untilYear*/,
18901  9 /*untilMonth*/,
18902  1 /*untilDay*/,
18903  0 /*untilTimeCode (0/15)*/,
18904  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18905  },
18906  // 5:30 1:00 %z 1945 Oct 15
18907  {
18908  nullptr /*zonePolicy*/,
18909  "" /*format*/,
18910  1320 /*offsetCode (19800/15)*/,
18911  0 /*offsetRemainder (19800%15)*/,
18912  60 /*deltaMinutes*/,
18913  1945 /*untilYear*/,
18914  10 /*untilMonth*/,
18915  15 /*untilDay*/,
18916  0 /*untilTimeCode (0/15)*/,
18917  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18918  },
18919  // 5:30 - IST
18920  {
18921  nullptr /*zonePolicy*/,
18922  "IST" /*format*/,
18923  1320 /*offsetCode (19800/15)*/,
18924  0 /*offsetRemainder (19800%15)*/,
18925  0 /*deltaMinutes*/,
18926  32767 /*untilYear*/,
18927  1 /*untilMonth*/,
18928  1 /*untilDay*/,
18929  0 /*untilTimeCode (0/15)*/,
18930  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18931  },
18932 
18933 };
18934 
18935 static const char kZoneNameAsia_Kolkata[] ACE_TIME_PROGMEM = "\x05" "Kolkata";
18936 
18937 const complete::ZoneInfo kZoneAsia_Kolkata ACE_TIME_PROGMEM = {
18938  kZoneNameAsia_Kolkata /*name*/,
18939  0x72c06cd9 /*zoneId*/,
18940  &kZoneContext /*zoneContext*/,
18941  8 /*numEras*/,
18942  kZoneEraAsia_Kolkata /*eras*/,
18943  nullptr /*targetInfo*/,
18944 };
18945 
18946 //---------------------------------------------------------------------------
18947 // Zone name: Asia/Krasnoyarsk
18948 // Eras: 7
18949 //---------------------------------------------------------------------------
18950 
18951 static const complete::ZoneEra kZoneEraAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = {
18952  // 6:11:26 - LMT 1920 Jan 6
18953  {
18954  nullptr /*zonePolicy*/,
18955  "LMT" /*format*/,
18956  1485 /*offsetCode (22286/15)*/,
18957  11 /*offsetRemainder (22286%15)*/,
18958  0 /*deltaMinutes*/,
18959  1920 /*untilYear*/,
18960  1 /*untilMonth*/,
18961  6 /*untilDay*/,
18962  0 /*untilTimeCode (0/15)*/,
18963  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18964  },
18965  // 6:00 - %z 1930 Jun 21
18966  {
18967  nullptr /*zonePolicy*/,
18968  "" /*format*/,
18969  1440 /*offsetCode (21600/15)*/,
18970  0 /*offsetRemainder (21600%15)*/,
18971  0 /*deltaMinutes*/,
18972  1930 /*untilYear*/,
18973  6 /*untilMonth*/,
18974  21 /*untilDay*/,
18975  0 /*untilTimeCode (0/15)*/,
18976  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
18977  },
18978  // 7:00 Russia %z 1991 Mar 31 2:00s
18979  {
18980  &kZonePolicyRussia /*zonePolicy*/,
18981  "" /*format*/,
18982  1680 /*offsetCode (25200/15)*/,
18983  0 /*offsetRemainder (25200%15)*/,
18984  0 /*deltaMinutes*/,
18985  1991 /*untilYear*/,
18986  3 /*untilMonth*/,
18987  31 /*untilDay*/,
18988  480 /*untilTimeCode (7200/15)*/,
18989  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
18990  },
18991  // 6:00 Russia %z 1992 Jan 19 2:00s
18992  {
18993  &kZonePolicyRussia /*zonePolicy*/,
18994  "" /*format*/,
18995  1440 /*offsetCode (21600/15)*/,
18996  0 /*offsetRemainder (21600%15)*/,
18997  0 /*deltaMinutes*/,
18998  1992 /*untilYear*/,
18999  1 /*untilMonth*/,
19000  19 /*untilDay*/,
19001  480 /*untilTimeCode (7200/15)*/,
19002  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19003  },
19004  // 7:00 Russia %z 2011 Mar 27 2:00s
19005  {
19006  &kZonePolicyRussia /*zonePolicy*/,
19007  "" /*format*/,
19008  1680 /*offsetCode (25200/15)*/,
19009  0 /*offsetRemainder (25200%15)*/,
19010  0 /*deltaMinutes*/,
19011  2011 /*untilYear*/,
19012  3 /*untilMonth*/,
19013  27 /*untilDay*/,
19014  480 /*untilTimeCode (7200/15)*/,
19015  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19016  },
19017  // 8:00 - %z 2014 Oct 26 2:00s
19018  {
19019  nullptr /*zonePolicy*/,
19020  "" /*format*/,
19021  1920 /*offsetCode (28800/15)*/,
19022  0 /*offsetRemainder (28800%15)*/,
19023  0 /*deltaMinutes*/,
19024  2014 /*untilYear*/,
19025  10 /*untilMonth*/,
19026  26 /*untilDay*/,
19027  480 /*untilTimeCode (7200/15)*/,
19028  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19029  },
19030  // 7:00 - %z
19031  {
19032  nullptr /*zonePolicy*/,
19033  "" /*format*/,
19034  1680 /*offsetCode (25200/15)*/,
19035  0 /*offsetRemainder (25200%15)*/,
19036  0 /*deltaMinutes*/,
19037  32767 /*untilYear*/,
19038  1 /*untilMonth*/,
19039  1 /*untilDay*/,
19040  0 /*untilTimeCode (0/15)*/,
19041  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19042  },
19043 
19044 };
19045 
19046 static const char kZoneNameAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = "\x05" "Krasnoyarsk";
19047 
19048 const complete::ZoneInfo kZoneAsia_Krasnoyarsk ACE_TIME_PROGMEM = {
19049  kZoneNameAsia_Krasnoyarsk /*name*/,
19050  0xd0376c6a /*zoneId*/,
19051  &kZoneContext /*zoneContext*/,
19052  7 /*numEras*/,
19053  kZoneEraAsia_Krasnoyarsk /*eras*/,
19054  nullptr /*targetInfo*/,
19055 };
19056 
19057 //---------------------------------------------------------------------------
19058 // Zone name: Asia/Kuching
19059 // Eras: 5
19060 //---------------------------------------------------------------------------
19061 
19062 static const complete::ZoneEra kZoneEraAsia_Kuching[] ACE_TIME_PROGMEM = {
19063  // 7:21:20 - LMT 1926 Mar
19064  {
19065  nullptr /*zonePolicy*/,
19066  "LMT" /*format*/,
19067  1765 /*offsetCode (26480/15)*/,
19068  5 /*offsetRemainder (26480%15)*/,
19069  0 /*deltaMinutes*/,
19070  1926 /*untilYear*/,
19071  3 /*untilMonth*/,
19072  1 /*untilDay*/,
19073  0 /*untilTimeCode (0/15)*/,
19074  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19075  },
19076  // 7:30 - %z 1933
19077  {
19078  nullptr /*zonePolicy*/,
19079  "" /*format*/,
19080  1800 /*offsetCode (27000/15)*/,
19081  0 /*offsetRemainder (27000%15)*/,
19082  0 /*deltaMinutes*/,
19083  1933 /*untilYear*/,
19084  1 /*untilMonth*/,
19085  1 /*untilDay*/,
19086  0 /*untilTimeCode (0/15)*/,
19087  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19088  },
19089  // 8:00 NBorneo %z 1942 Feb 16
19090  {
19091  &kZonePolicyNBorneo /*zonePolicy*/,
19092  "" /*format*/,
19093  1920 /*offsetCode (28800/15)*/,
19094  0 /*offsetRemainder (28800%15)*/,
19095  0 /*deltaMinutes*/,
19096  1942 /*untilYear*/,
19097  2 /*untilMonth*/,
19098  16 /*untilDay*/,
19099  0 /*untilTimeCode (0/15)*/,
19100  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19101  },
19102  // 9:00 - %z 1945 Sep 12
19103  {
19104  nullptr /*zonePolicy*/,
19105  "" /*format*/,
19106  2160 /*offsetCode (32400/15)*/,
19107  0 /*offsetRemainder (32400%15)*/,
19108  0 /*deltaMinutes*/,
19109  1945 /*untilYear*/,
19110  9 /*untilMonth*/,
19111  12 /*untilDay*/,
19112  0 /*untilTimeCode (0/15)*/,
19113  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19114  },
19115  // 8:00 - %z
19116  {
19117  nullptr /*zonePolicy*/,
19118  "" /*format*/,
19119  1920 /*offsetCode (28800/15)*/,
19120  0 /*offsetRemainder (28800%15)*/,
19121  0 /*deltaMinutes*/,
19122  32767 /*untilYear*/,
19123  1 /*untilMonth*/,
19124  1 /*untilDay*/,
19125  0 /*untilTimeCode (0/15)*/,
19126  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19127  },
19128 
19129 };
19130 
19131 static const char kZoneNameAsia_Kuching[] ACE_TIME_PROGMEM = "\x05" "Kuching";
19132 
19133 const complete::ZoneInfo kZoneAsia_Kuching ACE_TIME_PROGMEM = {
19134  kZoneNameAsia_Kuching /*name*/,
19135  0x801b003b /*zoneId*/,
19136  &kZoneContext /*zoneContext*/,
19137  5 /*numEras*/,
19138  kZoneEraAsia_Kuching /*eras*/,
19139  nullptr /*targetInfo*/,
19140 };
19141 
19142 //---------------------------------------------------------------------------
19143 // Zone name: Asia/Macau
19144 // Eras: 4
19145 //---------------------------------------------------------------------------
19146 
19147 static const complete::ZoneEra kZoneEraAsia_Macau[] ACE_TIME_PROGMEM = {
19148  // 7:34:10 - LMT 1904 Oct 30
19149  {
19150  nullptr /*zonePolicy*/,
19151  "LMT" /*format*/,
19152  1816 /*offsetCode (27250/15)*/,
19153  10 /*offsetRemainder (27250%15)*/,
19154  0 /*deltaMinutes*/,
19155  1904 /*untilYear*/,
19156  10 /*untilMonth*/,
19157  30 /*untilDay*/,
19158  0 /*untilTimeCode (0/15)*/,
19159  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19160  },
19161  // 8:00 - CST 1941 Dec 21 23:00
19162  {
19163  nullptr /*zonePolicy*/,
19164  "CST" /*format*/,
19165  1920 /*offsetCode (28800/15)*/,
19166  0 /*offsetRemainder (28800%15)*/,
19167  0 /*deltaMinutes*/,
19168  1941 /*untilYear*/,
19169  12 /*untilMonth*/,
19170  21 /*untilDay*/,
19171  5520 /*untilTimeCode (82800/15)*/,
19172  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19173  },
19174  // 9:00 Macau %z 1945 Sep 30 24:00
19175  {
19176  &kZonePolicyMacau /*zonePolicy*/,
19177  "" /*format*/,
19178  2160 /*offsetCode (32400/15)*/,
19179  0 /*offsetRemainder (32400%15)*/,
19180  0 /*deltaMinutes*/,
19181  1945 /*untilYear*/,
19182  9 /*untilMonth*/,
19183  30 /*untilDay*/,
19184  5760 /*untilTimeCode (86400/15)*/,
19185  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19186  },
19187  // 8:00 Macau C%sT
19188  {
19189  &kZonePolicyMacau /*zonePolicy*/,
19190  "C%T" /*format*/,
19191  1920 /*offsetCode (28800/15)*/,
19192  0 /*offsetRemainder (28800%15)*/,
19193  0 /*deltaMinutes*/,
19194  32767 /*untilYear*/,
19195  1 /*untilMonth*/,
19196  1 /*untilDay*/,
19197  0 /*untilTimeCode (0/15)*/,
19198  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19199  },
19200 
19201 };
19202 
19203 static const char kZoneNameAsia_Macau[] ACE_TIME_PROGMEM = "\x05" "Macau";
19204 
19205 const complete::ZoneInfo kZoneAsia_Macau ACE_TIME_PROGMEM = {
19206  kZoneNameAsia_Macau /*name*/,
19207  0x155f88b9 /*zoneId*/,
19208  &kZoneContext /*zoneContext*/,
19209  4 /*numEras*/,
19210  kZoneEraAsia_Macau /*eras*/,
19211  nullptr /*targetInfo*/,
19212 };
19213 
19214 //---------------------------------------------------------------------------
19215 // Zone name: Asia/Magadan
19216 // Eras: 8
19217 //---------------------------------------------------------------------------
19218 
19219 static const complete::ZoneEra kZoneEraAsia_Magadan[] ACE_TIME_PROGMEM = {
19220  // 10:03:12 - LMT 1924 May 2
19221  {
19222  nullptr /*zonePolicy*/,
19223  "LMT" /*format*/,
19224  2412 /*offsetCode (36192/15)*/,
19225  12 /*offsetRemainder (36192%15)*/,
19226  0 /*deltaMinutes*/,
19227  1924 /*untilYear*/,
19228  5 /*untilMonth*/,
19229  2 /*untilDay*/,
19230  0 /*untilTimeCode (0/15)*/,
19231  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19232  },
19233  // 10:00 - %z 1930 Jun 21
19234  {
19235  nullptr /*zonePolicy*/,
19236  "" /*format*/,
19237  2400 /*offsetCode (36000/15)*/,
19238  0 /*offsetRemainder (36000%15)*/,
19239  0 /*deltaMinutes*/,
19240  1930 /*untilYear*/,
19241  6 /*untilMonth*/,
19242  21 /*untilDay*/,
19243  0 /*untilTimeCode (0/15)*/,
19244  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19245  },
19246  // 11:00 Russia %z 1991 Mar 31 2:00s
19247  {
19248  &kZonePolicyRussia /*zonePolicy*/,
19249  "" /*format*/,
19250  2640 /*offsetCode (39600/15)*/,
19251  0 /*offsetRemainder (39600%15)*/,
19252  0 /*deltaMinutes*/,
19253  1991 /*untilYear*/,
19254  3 /*untilMonth*/,
19255  31 /*untilDay*/,
19256  480 /*untilTimeCode (7200/15)*/,
19257  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19258  },
19259  // 10:00 Russia %z 1992 Jan 19 2:00s
19260  {
19261  &kZonePolicyRussia /*zonePolicy*/,
19262  "" /*format*/,
19263  2400 /*offsetCode (36000/15)*/,
19264  0 /*offsetRemainder (36000%15)*/,
19265  0 /*deltaMinutes*/,
19266  1992 /*untilYear*/,
19267  1 /*untilMonth*/,
19268  19 /*untilDay*/,
19269  480 /*untilTimeCode (7200/15)*/,
19270  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19271  },
19272  // 11:00 Russia %z 2011 Mar 27 2:00s
19273  {
19274  &kZonePolicyRussia /*zonePolicy*/,
19275  "" /*format*/,
19276  2640 /*offsetCode (39600/15)*/,
19277  0 /*offsetRemainder (39600%15)*/,
19278  0 /*deltaMinutes*/,
19279  2011 /*untilYear*/,
19280  3 /*untilMonth*/,
19281  27 /*untilDay*/,
19282  480 /*untilTimeCode (7200/15)*/,
19283  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19284  },
19285  // 12:00 - %z 2014 Oct 26 2:00s
19286  {
19287  nullptr /*zonePolicy*/,
19288  "" /*format*/,
19289  2880 /*offsetCode (43200/15)*/,
19290  0 /*offsetRemainder (43200%15)*/,
19291  0 /*deltaMinutes*/,
19292  2014 /*untilYear*/,
19293  10 /*untilMonth*/,
19294  26 /*untilDay*/,
19295  480 /*untilTimeCode (7200/15)*/,
19296  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19297  },
19298  // 10:00 - %z 2016 Apr 24 2:00s
19299  {
19300  nullptr /*zonePolicy*/,
19301  "" /*format*/,
19302  2400 /*offsetCode (36000/15)*/,
19303  0 /*offsetRemainder (36000%15)*/,
19304  0 /*deltaMinutes*/,
19305  2016 /*untilYear*/,
19306  4 /*untilMonth*/,
19307  24 /*untilDay*/,
19308  480 /*untilTimeCode (7200/15)*/,
19309  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19310  },
19311  // 11:00 - %z
19312  {
19313  nullptr /*zonePolicy*/,
19314  "" /*format*/,
19315  2640 /*offsetCode (39600/15)*/,
19316  0 /*offsetRemainder (39600%15)*/,
19317  0 /*deltaMinutes*/,
19318  32767 /*untilYear*/,
19319  1 /*untilMonth*/,
19320  1 /*untilDay*/,
19321  0 /*untilTimeCode (0/15)*/,
19322  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19323  },
19324 
19325 };
19326 
19327 static const char kZoneNameAsia_Magadan[] ACE_TIME_PROGMEM = "\x05" "Magadan";
19328 
19329 const complete::ZoneInfo kZoneAsia_Magadan ACE_TIME_PROGMEM = {
19330  kZoneNameAsia_Magadan /*name*/,
19331  0xebacc19b /*zoneId*/,
19332  &kZoneContext /*zoneContext*/,
19333  8 /*numEras*/,
19334  kZoneEraAsia_Magadan /*eras*/,
19335  nullptr /*targetInfo*/,
19336 };
19337 
19338 //---------------------------------------------------------------------------
19339 // Zone name: Asia/Makassar
19340 // Eras: 5
19341 //---------------------------------------------------------------------------
19342 
19343 static const complete::ZoneEra kZoneEraAsia_Makassar[] ACE_TIME_PROGMEM = {
19344  // 7:57:36 - LMT 1920
19345  {
19346  nullptr /*zonePolicy*/,
19347  "LMT" /*format*/,
19348  1910 /*offsetCode (28656/15)*/,
19349  6 /*offsetRemainder (28656%15)*/,
19350  0 /*deltaMinutes*/,
19351  1920 /*untilYear*/,
19352  1 /*untilMonth*/,
19353  1 /*untilDay*/,
19354  0 /*untilTimeCode (0/15)*/,
19355  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19356  },
19357  // 7:57:36 - MMT 1932 Nov
19358  {
19359  nullptr /*zonePolicy*/,
19360  "MMT" /*format*/,
19361  1910 /*offsetCode (28656/15)*/,
19362  6 /*offsetRemainder (28656%15)*/,
19363  0 /*deltaMinutes*/,
19364  1932 /*untilYear*/,
19365  11 /*untilMonth*/,
19366  1 /*untilDay*/,
19367  0 /*untilTimeCode (0/15)*/,
19368  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19369  },
19370  // 8:00 - %z 1942 Feb 9
19371  {
19372  nullptr /*zonePolicy*/,
19373  "" /*format*/,
19374  1920 /*offsetCode (28800/15)*/,
19375  0 /*offsetRemainder (28800%15)*/,
19376  0 /*deltaMinutes*/,
19377  1942 /*untilYear*/,
19378  2 /*untilMonth*/,
19379  9 /*untilDay*/,
19380  0 /*untilTimeCode (0/15)*/,
19381  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19382  },
19383  // 9:00 - %z 1945 Sep 23
19384  {
19385  nullptr /*zonePolicy*/,
19386  "" /*format*/,
19387  2160 /*offsetCode (32400/15)*/,
19388  0 /*offsetRemainder (32400%15)*/,
19389  0 /*deltaMinutes*/,
19390  1945 /*untilYear*/,
19391  9 /*untilMonth*/,
19392  23 /*untilDay*/,
19393  0 /*untilTimeCode (0/15)*/,
19394  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19395  },
19396  // 8:00 - WITA
19397  {
19398  nullptr /*zonePolicy*/,
19399  "WITA" /*format*/,
19400  1920 /*offsetCode (28800/15)*/,
19401  0 /*offsetRemainder (28800%15)*/,
19402  0 /*deltaMinutes*/,
19403  32767 /*untilYear*/,
19404  1 /*untilMonth*/,
19405  1 /*untilDay*/,
19406  0 /*untilTimeCode (0/15)*/,
19407  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19408  },
19409 
19410 };
19411 
19412 static const char kZoneNameAsia_Makassar[] ACE_TIME_PROGMEM = "\x05" "Makassar";
19413 
19414 const complete::ZoneInfo kZoneAsia_Makassar ACE_TIME_PROGMEM = {
19415  kZoneNameAsia_Makassar /*name*/,
19416  0x6aa21c85 /*zoneId*/,
19417  &kZoneContext /*zoneContext*/,
19418  5 /*numEras*/,
19419  kZoneEraAsia_Makassar /*eras*/,
19420  nullptr /*targetInfo*/,
19421 };
19422 
19423 //---------------------------------------------------------------------------
19424 // Zone name: Asia/Manila
19425 // Eras: 5
19426 //---------------------------------------------------------------------------
19427 
19428 static const complete::ZoneEra kZoneEraAsia_Manila[] ACE_TIME_PROGMEM = {
19429  // -15:56:08 - LMT 1844 Dec 31
19430  {
19431  nullptr /*zonePolicy*/,
19432  "LMT" /*format*/,
19433  -3825 /*offsetCode (-57368/15)*/,
19434  7 /*offsetRemainder (-57368%15)*/,
19435  0 /*deltaMinutes*/,
19436  1844 /*untilYear*/,
19437  12 /*untilMonth*/,
19438  31 /*untilDay*/,
19439  0 /*untilTimeCode (0/15)*/,
19440  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19441  },
19442  // 8:03:52 - LMT 1899 Sep 6 4:00u
19443  {
19444  nullptr /*zonePolicy*/,
19445  "LMT" /*format*/,
19446  1935 /*offsetCode (29032/15)*/,
19447  7 /*offsetRemainder (29032%15)*/,
19448  0 /*deltaMinutes*/,
19449  1899 /*untilYear*/,
19450  9 /*untilMonth*/,
19451  6 /*untilDay*/,
19452  960 /*untilTimeCode (14400/15)*/,
19453  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
19454  },
19455  // 8:00 Phil P%sT 1942 Feb 11 24:00
19456  {
19457  &kZonePolicyPhil /*zonePolicy*/,
19458  "P%T" /*format*/,
19459  1920 /*offsetCode (28800/15)*/,
19460  0 /*offsetRemainder (28800%15)*/,
19461  0 /*deltaMinutes*/,
19462  1942 /*untilYear*/,
19463  2 /*untilMonth*/,
19464  11 /*untilDay*/,
19465  5760 /*untilTimeCode (86400/15)*/,
19466  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19467  },
19468  // 9:00 - JST 1945 Mar 4
19469  {
19470  nullptr /*zonePolicy*/,
19471  "JST" /*format*/,
19472  2160 /*offsetCode (32400/15)*/,
19473  0 /*offsetRemainder (32400%15)*/,
19474  0 /*deltaMinutes*/,
19475  1945 /*untilYear*/,
19476  3 /*untilMonth*/,
19477  4 /*untilDay*/,
19478  0 /*untilTimeCode (0/15)*/,
19479  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19480  },
19481  // 8:00 Phil P%sT
19482  {
19483  &kZonePolicyPhil /*zonePolicy*/,
19484  "P%T" /*format*/,
19485  1920 /*offsetCode (28800/15)*/,
19486  0 /*offsetRemainder (28800%15)*/,
19487  0 /*deltaMinutes*/,
19488  32767 /*untilYear*/,
19489  1 /*untilMonth*/,
19490  1 /*untilDay*/,
19491  0 /*untilTimeCode (0/15)*/,
19492  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19493  },
19494 
19495 };
19496 
19497 static const char kZoneNameAsia_Manila[] ACE_TIME_PROGMEM = "\x05" "Manila";
19498 
19499 const complete::ZoneInfo kZoneAsia_Manila ACE_TIME_PROGMEM = {
19500  kZoneNameAsia_Manila /*name*/,
19501  0xc156c944 /*zoneId*/,
19502  &kZoneContext /*zoneContext*/,
19503  5 /*numEras*/,
19504  kZoneEraAsia_Manila /*eras*/,
19505  nullptr /*targetInfo*/,
19506 };
19507 
19508 //---------------------------------------------------------------------------
19509 // Zone name: Asia/Nicosia
19510 // Eras: 3
19511 //---------------------------------------------------------------------------
19512 
19513 static const complete::ZoneEra kZoneEraAsia_Nicosia[] ACE_TIME_PROGMEM = {
19514  // 2:13:28 - LMT 1921 Nov 14
19515  {
19516  nullptr /*zonePolicy*/,
19517  "LMT" /*format*/,
19518  533 /*offsetCode (8008/15)*/,
19519  13 /*offsetRemainder (8008%15)*/,
19520  0 /*deltaMinutes*/,
19521  1921 /*untilYear*/,
19522  11 /*untilMonth*/,
19523  14 /*untilDay*/,
19524  0 /*untilTimeCode (0/15)*/,
19525  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19526  },
19527  // 2:00 Cyprus EE%sT 1998 Sep
19528  {
19529  &kZonePolicyCyprus /*zonePolicy*/,
19530  "EE%T" /*format*/,
19531  480 /*offsetCode (7200/15)*/,
19532  0 /*offsetRemainder (7200%15)*/,
19533  0 /*deltaMinutes*/,
19534  1998 /*untilYear*/,
19535  9 /*untilMonth*/,
19536  1 /*untilDay*/,
19537  0 /*untilTimeCode (0/15)*/,
19538  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19539  },
19540  // 2:00 EUAsia EE%sT
19541  {
19542  &kZonePolicyEUAsia /*zonePolicy*/,
19543  "EE%T" /*format*/,
19544  480 /*offsetCode (7200/15)*/,
19545  0 /*offsetRemainder (7200%15)*/,
19546  0 /*deltaMinutes*/,
19547  32767 /*untilYear*/,
19548  1 /*untilMonth*/,
19549  1 /*untilDay*/,
19550  0 /*untilTimeCode (0/15)*/,
19551  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19552  },
19553 
19554 };
19555 
19556 static const char kZoneNameAsia_Nicosia[] ACE_TIME_PROGMEM = "\x05" "Nicosia";
19557 
19558 const complete::ZoneInfo kZoneAsia_Nicosia ACE_TIME_PROGMEM = {
19559  kZoneNameAsia_Nicosia /*name*/,
19560  0x4b0fcf78 /*zoneId*/,
19561  &kZoneContext /*zoneContext*/,
19562  3 /*numEras*/,
19563  kZoneEraAsia_Nicosia /*eras*/,
19564  nullptr /*targetInfo*/,
19565 };
19566 
19567 //---------------------------------------------------------------------------
19568 // Zone name: Asia/Novokuznetsk
19569 // Eras: 7
19570 //---------------------------------------------------------------------------
19571 
19572 static const complete::ZoneEra kZoneEraAsia_Novokuznetsk[] ACE_TIME_PROGMEM = {
19573  // 5:48:48 - LMT 1924 May 1
19574  {
19575  nullptr /*zonePolicy*/,
19576  "LMT" /*format*/,
19577  1395 /*offsetCode (20928/15)*/,
19578  3 /*offsetRemainder (20928%15)*/,
19579  0 /*deltaMinutes*/,
19580  1924 /*untilYear*/,
19581  5 /*untilMonth*/,
19582  1 /*untilDay*/,
19583  0 /*untilTimeCode (0/15)*/,
19584  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19585  },
19586  // 6:00 - %z 1930 Jun 21
19587  {
19588  nullptr /*zonePolicy*/,
19589  "" /*format*/,
19590  1440 /*offsetCode (21600/15)*/,
19591  0 /*offsetRemainder (21600%15)*/,
19592  0 /*deltaMinutes*/,
19593  1930 /*untilYear*/,
19594  6 /*untilMonth*/,
19595  21 /*untilDay*/,
19596  0 /*untilTimeCode (0/15)*/,
19597  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19598  },
19599  // 7:00 Russia %z 1991 Mar 31 2:00s
19600  {
19601  &kZonePolicyRussia /*zonePolicy*/,
19602  "" /*format*/,
19603  1680 /*offsetCode (25200/15)*/,
19604  0 /*offsetRemainder (25200%15)*/,
19605  0 /*deltaMinutes*/,
19606  1991 /*untilYear*/,
19607  3 /*untilMonth*/,
19608  31 /*untilDay*/,
19609  480 /*untilTimeCode (7200/15)*/,
19610  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19611  },
19612  // 6:00 Russia %z 1992 Jan 19 2:00s
19613  {
19614  &kZonePolicyRussia /*zonePolicy*/,
19615  "" /*format*/,
19616  1440 /*offsetCode (21600/15)*/,
19617  0 /*offsetRemainder (21600%15)*/,
19618  0 /*deltaMinutes*/,
19619  1992 /*untilYear*/,
19620  1 /*untilMonth*/,
19621  19 /*untilDay*/,
19622  480 /*untilTimeCode (7200/15)*/,
19623  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19624  },
19625  // 7:00 Russia %z 2010 Mar 28 2:00s
19626  {
19627  &kZonePolicyRussia /*zonePolicy*/,
19628  "" /*format*/,
19629  1680 /*offsetCode (25200/15)*/,
19630  0 /*offsetRemainder (25200%15)*/,
19631  0 /*deltaMinutes*/,
19632  2010 /*untilYear*/,
19633  3 /*untilMonth*/,
19634  28 /*untilDay*/,
19635  480 /*untilTimeCode (7200/15)*/,
19636  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19637  },
19638  // 6:00 Russia %z 2011 Mar 27 2:00s
19639  {
19640  &kZonePolicyRussia /*zonePolicy*/,
19641  "" /*format*/,
19642  1440 /*offsetCode (21600/15)*/,
19643  0 /*offsetRemainder (21600%15)*/,
19644  0 /*deltaMinutes*/,
19645  2011 /*untilYear*/,
19646  3 /*untilMonth*/,
19647  27 /*untilDay*/,
19648  480 /*untilTimeCode (7200/15)*/,
19649  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19650  },
19651  // 7:00 - %z
19652  {
19653  nullptr /*zonePolicy*/,
19654  "" /*format*/,
19655  1680 /*offsetCode (25200/15)*/,
19656  0 /*offsetRemainder (25200%15)*/,
19657  0 /*deltaMinutes*/,
19658  32767 /*untilYear*/,
19659  1 /*untilMonth*/,
19660  1 /*untilDay*/,
19661  0 /*untilTimeCode (0/15)*/,
19662  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19663  },
19664 
19665 };
19666 
19667 static const char kZoneNameAsia_Novokuznetsk[] ACE_TIME_PROGMEM = "\x05" "Novokuznetsk";
19668 
19669 const complete::ZoneInfo kZoneAsia_Novokuznetsk ACE_TIME_PROGMEM = {
19670  kZoneNameAsia_Novokuznetsk /*name*/,
19671  0x69264f93 /*zoneId*/,
19672  &kZoneContext /*zoneContext*/,
19673  7 /*numEras*/,
19674  kZoneEraAsia_Novokuznetsk /*eras*/,
19675  nullptr /*targetInfo*/,
19676 };
19677 
19678 //---------------------------------------------------------------------------
19679 // Zone name: Asia/Novosibirsk
19680 // Eras: 9
19681 //---------------------------------------------------------------------------
19682 
19683 static const complete::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = {
19684  // 5:31:40 - LMT 1919 Dec 14 6:00
19685  {
19686  nullptr /*zonePolicy*/,
19687  "LMT" /*format*/,
19688  1326 /*offsetCode (19900/15)*/,
19689  10 /*offsetRemainder (19900%15)*/,
19690  0 /*deltaMinutes*/,
19691  1919 /*untilYear*/,
19692  12 /*untilMonth*/,
19693  14 /*untilDay*/,
19694  1440 /*untilTimeCode (21600/15)*/,
19695  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19696  },
19697  // 6:00 - %z 1930 Jun 21
19698  {
19699  nullptr /*zonePolicy*/,
19700  "" /*format*/,
19701  1440 /*offsetCode (21600/15)*/,
19702  0 /*offsetRemainder (21600%15)*/,
19703  0 /*deltaMinutes*/,
19704  1930 /*untilYear*/,
19705  6 /*untilMonth*/,
19706  21 /*untilDay*/,
19707  0 /*untilTimeCode (0/15)*/,
19708  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19709  },
19710  // 7:00 Russia %z 1991 Mar 31 2:00s
19711  {
19712  &kZonePolicyRussia /*zonePolicy*/,
19713  "" /*format*/,
19714  1680 /*offsetCode (25200/15)*/,
19715  0 /*offsetRemainder (25200%15)*/,
19716  0 /*deltaMinutes*/,
19717  1991 /*untilYear*/,
19718  3 /*untilMonth*/,
19719  31 /*untilDay*/,
19720  480 /*untilTimeCode (7200/15)*/,
19721  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19722  },
19723  // 6:00 Russia %z 1992 Jan 19 2:00s
19724  {
19725  &kZonePolicyRussia /*zonePolicy*/,
19726  "" /*format*/,
19727  1440 /*offsetCode (21600/15)*/,
19728  0 /*offsetRemainder (21600%15)*/,
19729  0 /*deltaMinutes*/,
19730  1992 /*untilYear*/,
19731  1 /*untilMonth*/,
19732  19 /*untilDay*/,
19733  480 /*untilTimeCode (7200/15)*/,
19734  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19735  },
19736  // 7:00 Russia %z 1993 May 23
19737  {
19738  &kZonePolicyRussia /*zonePolicy*/,
19739  "" /*format*/,
19740  1680 /*offsetCode (25200/15)*/,
19741  0 /*offsetRemainder (25200%15)*/,
19742  0 /*deltaMinutes*/,
19743  1993 /*untilYear*/,
19744  5 /*untilMonth*/,
19745  23 /*untilDay*/,
19746  0 /*untilTimeCode (0/15)*/,
19747  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19748  },
19749  // 6:00 Russia %z 2011 Mar 27 2:00s
19750  {
19751  &kZonePolicyRussia /*zonePolicy*/,
19752  "" /*format*/,
19753  1440 /*offsetCode (21600/15)*/,
19754  0 /*offsetRemainder (21600%15)*/,
19755  0 /*deltaMinutes*/,
19756  2011 /*untilYear*/,
19757  3 /*untilMonth*/,
19758  27 /*untilDay*/,
19759  480 /*untilTimeCode (7200/15)*/,
19760  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19761  },
19762  // 7:00 - %z 2014 Oct 26 2:00s
19763  {
19764  nullptr /*zonePolicy*/,
19765  "" /*format*/,
19766  1680 /*offsetCode (25200/15)*/,
19767  0 /*offsetRemainder (25200%15)*/,
19768  0 /*deltaMinutes*/,
19769  2014 /*untilYear*/,
19770  10 /*untilMonth*/,
19771  26 /*untilDay*/,
19772  480 /*untilTimeCode (7200/15)*/,
19773  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19774  },
19775  // 6:00 - %z 2016 Jul 24 2:00s
19776  {
19777  nullptr /*zonePolicy*/,
19778  "" /*format*/,
19779  1440 /*offsetCode (21600/15)*/,
19780  0 /*offsetRemainder (21600%15)*/,
19781  0 /*deltaMinutes*/,
19782  2016 /*untilYear*/,
19783  7 /*untilMonth*/,
19784  24 /*untilDay*/,
19785  480 /*untilTimeCode (7200/15)*/,
19786  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19787  },
19788  // 7:00 - %z
19789  {
19790  nullptr /*zonePolicy*/,
19791  "" /*format*/,
19792  1680 /*offsetCode (25200/15)*/,
19793  0 /*offsetRemainder (25200%15)*/,
19794  0 /*deltaMinutes*/,
19795  32767 /*untilYear*/,
19796  1 /*untilMonth*/,
19797  1 /*untilDay*/,
19798  0 /*untilTimeCode (0/15)*/,
19799  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19800  },
19801 
19802 };
19803 
19804 static const char kZoneNameAsia_Novosibirsk[] ACE_TIME_PROGMEM = "\x05" "Novosibirsk";
19805 
19806 const complete::ZoneInfo kZoneAsia_Novosibirsk ACE_TIME_PROGMEM = {
19807  kZoneNameAsia_Novosibirsk /*name*/,
19808  0xa2a435cb /*zoneId*/,
19809  &kZoneContext /*zoneContext*/,
19810  9 /*numEras*/,
19811  kZoneEraAsia_Novosibirsk /*eras*/,
19812  nullptr /*targetInfo*/,
19813 };
19814 
19815 //---------------------------------------------------------------------------
19816 // Zone name: Asia/Omsk
19817 // Eras: 7
19818 //---------------------------------------------------------------------------
19819 
19820 static const complete::ZoneEra kZoneEraAsia_Omsk[] ACE_TIME_PROGMEM = {
19821  // 4:53:30 - LMT 1919 Nov 14
19822  {
19823  nullptr /*zonePolicy*/,
19824  "LMT" /*format*/,
19825  1174 /*offsetCode (17610/15)*/,
19826  0 /*offsetRemainder (17610%15)*/,
19827  0 /*deltaMinutes*/,
19828  1919 /*untilYear*/,
19829  11 /*untilMonth*/,
19830  14 /*untilDay*/,
19831  0 /*untilTimeCode (0/15)*/,
19832  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19833  },
19834  // 5:00 - %z 1930 Jun 21
19835  {
19836  nullptr /*zonePolicy*/,
19837  "" /*format*/,
19838  1200 /*offsetCode (18000/15)*/,
19839  0 /*offsetRemainder (18000%15)*/,
19840  0 /*deltaMinutes*/,
19841  1930 /*untilYear*/,
19842  6 /*untilMonth*/,
19843  21 /*untilDay*/,
19844  0 /*untilTimeCode (0/15)*/,
19845  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19846  },
19847  // 6:00 Russia %z 1991 Mar 31 2:00s
19848  {
19849  &kZonePolicyRussia /*zonePolicy*/,
19850  "" /*format*/,
19851  1440 /*offsetCode (21600/15)*/,
19852  0 /*offsetRemainder (21600%15)*/,
19853  0 /*deltaMinutes*/,
19854  1991 /*untilYear*/,
19855  3 /*untilMonth*/,
19856  31 /*untilDay*/,
19857  480 /*untilTimeCode (7200/15)*/,
19858  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19859  },
19860  // 5:00 Russia %z 1992 Jan 19 2:00s
19861  {
19862  &kZonePolicyRussia /*zonePolicy*/,
19863  "" /*format*/,
19864  1200 /*offsetCode (18000/15)*/,
19865  0 /*offsetRemainder (18000%15)*/,
19866  0 /*deltaMinutes*/,
19867  1992 /*untilYear*/,
19868  1 /*untilMonth*/,
19869  19 /*untilDay*/,
19870  480 /*untilTimeCode (7200/15)*/,
19871  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19872  },
19873  // 6:00 Russia %z 2011 Mar 27 2:00s
19874  {
19875  &kZonePolicyRussia /*zonePolicy*/,
19876  "" /*format*/,
19877  1440 /*offsetCode (21600/15)*/,
19878  0 /*offsetRemainder (21600%15)*/,
19879  0 /*deltaMinutes*/,
19880  2011 /*untilYear*/,
19881  3 /*untilMonth*/,
19882  27 /*untilDay*/,
19883  480 /*untilTimeCode (7200/15)*/,
19884  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19885  },
19886  // 7:00 - %z 2014 Oct 26 2:00s
19887  {
19888  nullptr /*zonePolicy*/,
19889  "" /*format*/,
19890  1680 /*offsetCode (25200/15)*/,
19891  0 /*offsetRemainder (25200%15)*/,
19892  0 /*deltaMinutes*/,
19893  2014 /*untilYear*/,
19894  10 /*untilMonth*/,
19895  26 /*untilDay*/,
19896  480 /*untilTimeCode (7200/15)*/,
19897  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
19898  },
19899  // 6:00 - %z
19900  {
19901  nullptr /*zonePolicy*/,
19902  "" /*format*/,
19903  1440 /*offsetCode (21600/15)*/,
19904  0 /*offsetRemainder (21600%15)*/,
19905  0 /*deltaMinutes*/,
19906  32767 /*untilYear*/,
19907  1 /*untilMonth*/,
19908  1 /*untilDay*/,
19909  0 /*untilTimeCode (0/15)*/,
19910  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19911  },
19912 
19913 };
19914 
19915 static const char kZoneNameAsia_Omsk[] ACE_TIME_PROGMEM = "\x05" "Omsk";
19916 
19917 const complete::ZoneInfo kZoneAsia_Omsk ACE_TIME_PROGMEM = {
19918  kZoneNameAsia_Omsk /*name*/,
19919  0x1faeddac /*zoneId*/,
19920  &kZoneContext /*zoneContext*/,
19921  7 /*numEras*/,
19922  kZoneEraAsia_Omsk /*eras*/,
19923  nullptr /*targetInfo*/,
19924 };
19925 
19926 //---------------------------------------------------------------------------
19927 // Zone name: Asia/Oral
19928 // Eras: 10
19929 //---------------------------------------------------------------------------
19930 
19931 static const complete::ZoneEra kZoneEraAsia_Oral[] ACE_TIME_PROGMEM = {
19932  // 3:25:24 - LMT 1924 May 2
19933  {
19934  nullptr /*zonePolicy*/,
19935  "LMT" /*format*/,
19936  821 /*offsetCode (12324/15)*/,
19937  9 /*offsetRemainder (12324%15)*/,
19938  0 /*deltaMinutes*/,
19939  1924 /*untilYear*/,
19940  5 /*untilMonth*/,
19941  2 /*untilDay*/,
19942  0 /*untilTimeCode (0/15)*/,
19943  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19944  },
19945  // 3:00 - %z 1930 Jun 21
19946  {
19947  nullptr /*zonePolicy*/,
19948  "" /*format*/,
19949  720 /*offsetCode (10800/15)*/,
19950  0 /*offsetRemainder (10800%15)*/,
19951  0 /*deltaMinutes*/,
19952  1930 /*untilYear*/,
19953  6 /*untilMonth*/,
19954  21 /*untilDay*/,
19955  0 /*untilTimeCode (0/15)*/,
19956  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19957  },
19958  // 5:00 - %z 1981 Apr 1
19959  {
19960  nullptr /*zonePolicy*/,
19961  "" /*format*/,
19962  1200 /*offsetCode (18000/15)*/,
19963  0 /*offsetRemainder (18000%15)*/,
19964  0 /*deltaMinutes*/,
19965  1981 /*untilYear*/,
19966  4 /*untilMonth*/,
19967  1 /*untilDay*/,
19968  0 /*untilTimeCode (0/15)*/,
19969  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19970  },
19971  // 5:00 1:00 %z 1981 Oct 1
19972  {
19973  nullptr /*zonePolicy*/,
19974  "" /*format*/,
19975  1200 /*offsetCode (18000/15)*/,
19976  0 /*offsetRemainder (18000%15)*/,
19977  60 /*deltaMinutes*/,
19978  1981 /*untilYear*/,
19979  10 /*untilMonth*/,
19980  1 /*untilDay*/,
19981  0 /*untilTimeCode (0/15)*/,
19982  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19983  },
19984  // 6:00 - %z 1982 Apr 1
19985  {
19986  nullptr /*zonePolicy*/,
19987  "" /*format*/,
19988  1440 /*offsetCode (21600/15)*/,
19989  0 /*offsetRemainder (21600%15)*/,
19990  0 /*deltaMinutes*/,
19991  1982 /*untilYear*/,
19992  4 /*untilMonth*/,
19993  1 /*untilDay*/,
19994  0 /*untilTimeCode (0/15)*/,
19995  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
19996  },
19997  // 5:00 RussiaAsia %z 1989 Mar 26 2:00s
19998  {
19999  &kZonePolicyRussiaAsia /*zonePolicy*/,
20000  "" /*format*/,
20001  1200 /*offsetCode (18000/15)*/,
20002  0 /*offsetRemainder (18000%15)*/,
20003  0 /*deltaMinutes*/,
20004  1989 /*untilYear*/,
20005  3 /*untilMonth*/,
20006  26 /*untilDay*/,
20007  480 /*untilTimeCode (7200/15)*/,
20008  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20009  },
20010  // 4:00 RussiaAsia %z 1992 Jan 19 2:00s
20011  {
20012  &kZonePolicyRussiaAsia /*zonePolicy*/,
20013  "" /*format*/,
20014  960 /*offsetCode (14400/15)*/,
20015  0 /*offsetRemainder (14400%15)*/,
20016  0 /*deltaMinutes*/,
20017  1992 /*untilYear*/,
20018  1 /*untilMonth*/,
20019  19 /*untilDay*/,
20020  480 /*untilTimeCode (7200/15)*/,
20021  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20022  },
20023  // 5:00 RussiaAsia %z 1992 Mar 29 2:00s
20024  {
20025  &kZonePolicyRussiaAsia /*zonePolicy*/,
20026  "" /*format*/,
20027  1200 /*offsetCode (18000/15)*/,
20028  0 /*offsetRemainder (18000%15)*/,
20029  0 /*deltaMinutes*/,
20030  1992 /*untilYear*/,
20031  3 /*untilMonth*/,
20032  29 /*untilDay*/,
20033  480 /*untilTimeCode (7200/15)*/,
20034  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20035  },
20036  // 4:00 RussiaAsia %z 2004 Oct 31 2:00s
20037  {
20038  &kZonePolicyRussiaAsia /*zonePolicy*/,
20039  "" /*format*/,
20040  960 /*offsetCode (14400/15)*/,
20041  0 /*offsetRemainder (14400%15)*/,
20042  0 /*deltaMinutes*/,
20043  2004 /*untilYear*/,
20044  10 /*untilMonth*/,
20045  31 /*untilDay*/,
20046  480 /*untilTimeCode (7200/15)*/,
20047  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20048  },
20049  // 5:00 - %z
20050  {
20051  nullptr /*zonePolicy*/,
20052  "" /*format*/,
20053  1200 /*offsetCode (18000/15)*/,
20054  0 /*offsetRemainder (18000%15)*/,
20055  0 /*deltaMinutes*/,
20056  32767 /*untilYear*/,
20057  1 /*untilMonth*/,
20058  1 /*untilDay*/,
20059  0 /*untilTimeCode (0/15)*/,
20060  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20061  },
20062 
20063 };
20064 
20065 static const char kZoneNameAsia_Oral[] ACE_TIME_PROGMEM = "\x05" "Oral";
20066 
20067 const complete::ZoneInfo kZoneAsia_Oral ACE_TIME_PROGMEM = {
20068  kZoneNameAsia_Oral /*name*/,
20069  0x1faef0a0 /*zoneId*/,
20070  &kZoneContext /*zoneContext*/,
20071  10 /*numEras*/,
20072  kZoneEraAsia_Oral /*eras*/,
20073  nullptr /*targetInfo*/,
20074 };
20075 
20076 //---------------------------------------------------------------------------
20077 // Zone name: Asia/Pontianak
20078 // Eras: 9
20079 //---------------------------------------------------------------------------
20080 
20081 static const complete::ZoneEra kZoneEraAsia_Pontianak[] ACE_TIME_PROGMEM = {
20082  // 7:17:20 - LMT 1908 May
20083  {
20084  nullptr /*zonePolicy*/,
20085  "LMT" /*format*/,
20086  1749 /*offsetCode (26240/15)*/,
20087  5 /*offsetRemainder (26240%15)*/,
20088  0 /*deltaMinutes*/,
20089  1908 /*untilYear*/,
20090  5 /*untilMonth*/,
20091  1 /*untilDay*/,
20092  0 /*untilTimeCode (0/15)*/,
20093  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20094  },
20095  // 7:17:20 - PMT 1932 Nov
20096  {
20097  nullptr /*zonePolicy*/,
20098  "PMT" /*format*/,
20099  1749 /*offsetCode (26240/15)*/,
20100  5 /*offsetRemainder (26240%15)*/,
20101  0 /*deltaMinutes*/,
20102  1932 /*untilYear*/,
20103  11 /*untilMonth*/,
20104  1 /*untilDay*/,
20105  0 /*untilTimeCode (0/15)*/,
20106  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20107  },
20108  // 7:30 - %z 1942 Jan 29
20109  {
20110  nullptr /*zonePolicy*/,
20111  "" /*format*/,
20112  1800 /*offsetCode (27000/15)*/,
20113  0 /*offsetRemainder (27000%15)*/,
20114  0 /*deltaMinutes*/,
20115  1942 /*untilYear*/,
20116  1 /*untilMonth*/,
20117  29 /*untilDay*/,
20118  0 /*untilTimeCode (0/15)*/,
20119  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20120  },
20121  // 9:00 - %z 1945 Sep 23
20122  {
20123  nullptr /*zonePolicy*/,
20124  "" /*format*/,
20125  2160 /*offsetCode (32400/15)*/,
20126  0 /*offsetRemainder (32400%15)*/,
20127  0 /*deltaMinutes*/,
20128  1945 /*untilYear*/,
20129  9 /*untilMonth*/,
20130  23 /*untilDay*/,
20131  0 /*untilTimeCode (0/15)*/,
20132  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20133  },
20134  // 7:30 - %z 1948 May
20135  {
20136  nullptr /*zonePolicy*/,
20137  "" /*format*/,
20138  1800 /*offsetCode (27000/15)*/,
20139  0 /*offsetRemainder (27000%15)*/,
20140  0 /*deltaMinutes*/,
20141  1948 /*untilYear*/,
20142  5 /*untilMonth*/,
20143  1 /*untilDay*/,
20144  0 /*untilTimeCode (0/15)*/,
20145  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20146  },
20147  // 8:00 - %z 1950 May
20148  {
20149  nullptr /*zonePolicy*/,
20150  "" /*format*/,
20151  1920 /*offsetCode (28800/15)*/,
20152  0 /*offsetRemainder (28800%15)*/,
20153  0 /*deltaMinutes*/,
20154  1950 /*untilYear*/,
20155  5 /*untilMonth*/,
20156  1 /*untilDay*/,
20157  0 /*untilTimeCode (0/15)*/,
20158  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20159  },
20160  // 7:30 - %z 1964
20161  {
20162  nullptr /*zonePolicy*/,
20163  "" /*format*/,
20164  1800 /*offsetCode (27000/15)*/,
20165  0 /*offsetRemainder (27000%15)*/,
20166  0 /*deltaMinutes*/,
20167  1964 /*untilYear*/,
20168  1 /*untilMonth*/,
20169  1 /*untilDay*/,
20170  0 /*untilTimeCode (0/15)*/,
20171  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20172  },
20173  // 8:00 - WITA 1988 Jan 1
20174  {
20175  nullptr /*zonePolicy*/,
20176  "WITA" /*format*/,
20177  1920 /*offsetCode (28800/15)*/,
20178  0 /*offsetRemainder (28800%15)*/,
20179  0 /*deltaMinutes*/,
20180  1988 /*untilYear*/,
20181  1 /*untilMonth*/,
20182  1 /*untilDay*/,
20183  0 /*untilTimeCode (0/15)*/,
20184  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20185  },
20186  // 7:00 - WIB
20187  {
20188  nullptr /*zonePolicy*/,
20189  "WIB" /*format*/,
20190  1680 /*offsetCode (25200/15)*/,
20191  0 /*offsetRemainder (25200%15)*/,
20192  0 /*deltaMinutes*/,
20193  32767 /*untilYear*/,
20194  1 /*untilMonth*/,
20195  1 /*untilDay*/,
20196  0 /*untilTimeCode (0/15)*/,
20197  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20198  },
20199 
20200 };
20201 
20202 static const char kZoneNameAsia_Pontianak[] ACE_TIME_PROGMEM = "\x05" "Pontianak";
20203 
20204 const complete::ZoneInfo kZoneAsia_Pontianak ACE_TIME_PROGMEM = {
20205  kZoneNameAsia_Pontianak /*name*/,
20206  0x1a76c057 /*zoneId*/,
20207  &kZoneContext /*zoneContext*/,
20208  9 /*numEras*/,
20209  kZoneEraAsia_Pontianak /*eras*/,
20210  nullptr /*targetInfo*/,
20211 };
20212 
20213 //---------------------------------------------------------------------------
20214 // Zone name: Asia/Pyongyang
20215 // Eras: 6
20216 //---------------------------------------------------------------------------
20217 
20218 static const complete::ZoneEra kZoneEraAsia_Pyongyang[] ACE_TIME_PROGMEM = {
20219  // 8:23:00 - LMT 1908 Apr 1
20220  {
20221  nullptr /*zonePolicy*/,
20222  "LMT" /*format*/,
20223  2012 /*offsetCode (30180/15)*/,
20224  0 /*offsetRemainder (30180%15)*/,
20225  0 /*deltaMinutes*/,
20226  1908 /*untilYear*/,
20227  4 /*untilMonth*/,
20228  1 /*untilDay*/,
20229  0 /*untilTimeCode (0/15)*/,
20230  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20231  },
20232  // 8:30 - KST 1912 Jan 1
20233  {
20234  nullptr /*zonePolicy*/,
20235  "KST" /*format*/,
20236  2040 /*offsetCode (30600/15)*/,
20237  0 /*offsetRemainder (30600%15)*/,
20238  0 /*deltaMinutes*/,
20239  1912 /*untilYear*/,
20240  1 /*untilMonth*/,
20241  1 /*untilDay*/,
20242  0 /*untilTimeCode (0/15)*/,
20243  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20244  },
20245  // 9:00 - JST 1945 Aug 24
20246  {
20247  nullptr /*zonePolicy*/,
20248  "JST" /*format*/,
20249  2160 /*offsetCode (32400/15)*/,
20250  0 /*offsetRemainder (32400%15)*/,
20251  0 /*deltaMinutes*/,
20252  1945 /*untilYear*/,
20253  8 /*untilMonth*/,
20254  24 /*untilDay*/,
20255  0 /*untilTimeCode (0/15)*/,
20256  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20257  },
20258  // 9:00 - KST 2015 Aug 15 00:00
20259  {
20260  nullptr /*zonePolicy*/,
20261  "KST" /*format*/,
20262  2160 /*offsetCode (32400/15)*/,
20263  0 /*offsetRemainder (32400%15)*/,
20264  0 /*deltaMinutes*/,
20265  2015 /*untilYear*/,
20266  8 /*untilMonth*/,
20267  15 /*untilDay*/,
20268  0 /*untilTimeCode (0/15)*/,
20269  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20270  },
20271  // 8:30 - KST 2018 May 4 23:30
20272  {
20273  nullptr /*zonePolicy*/,
20274  "KST" /*format*/,
20275  2040 /*offsetCode (30600/15)*/,
20276  0 /*offsetRemainder (30600%15)*/,
20277  0 /*deltaMinutes*/,
20278  2018 /*untilYear*/,
20279  5 /*untilMonth*/,
20280  4 /*untilDay*/,
20281  5640 /*untilTimeCode (84600/15)*/,
20282  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20283  },
20284  // 9:00 - KST
20285  {
20286  nullptr /*zonePolicy*/,
20287  "KST" /*format*/,
20288  2160 /*offsetCode (32400/15)*/,
20289  0 /*offsetRemainder (32400%15)*/,
20290  0 /*deltaMinutes*/,
20291  32767 /*untilYear*/,
20292  1 /*untilMonth*/,
20293  1 /*untilDay*/,
20294  0 /*untilTimeCode (0/15)*/,
20295  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20296  },
20297 
20298 };
20299 
20300 static const char kZoneNameAsia_Pyongyang[] ACE_TIME_PROGMEM = "\x05" "Pyongyang";
20301 
20302 const complete::ZoneInfo kZoneAsia_Pyongyang ACE_TIME_PROGMEM = {
20303  kZoneNameAsia_Pyongyang /*name*/,
20304  0x93ed1c8e /*zoneId*/,
20305  &kZoneContext /*zoneContext*/,
20306  6 /*numEras*/,
20307  kZoneEraAsia_Pyongyang /*eras*/,
20308  nullptr /*targetInfo*/,
20309 };
20310 
20311 //---------------------------------------------------------------------------
20312 // Zone name: Asia/Qatar
20313 // Eras: 3
20314 //---------------------------------------------------------------------------
20315 
20316 static const complete::ZoneEra kZoneEraAsia_Qatar[] ACE_TIME_PROGMEM = {
20317  // 3:26:08 - LMT 1920
20318  {
20319  nullptr /*zonePolicy*/,
20320  "LMT" /*format*/,
20321  824 /*offsetCode (12368/15)*/,
20322  8 /*offsetRemainder (12368%15)*/,
20323  0 /*deltaMinutes*/,
20324  1920 /*untilYear*/,
20325  1 /*untilMonth*/,
20326  1 /*untilDay*/,
20327  0 /*untilTimeCode (0/15)*/,
20328  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20329  },
20330  // 4:00 - %z 1972 Jun
20331  {
20332  nullptr /*zonePolicy*/,
20333  "" /*format*/,
20334  960 /*offsetCode (14400/15)*/,
20335  0 /*offsetRemainder (14400%15)*/,
20336  0 /*deltaMinutes*/,
20337  1972 /*untilYear*/,
20338  6 /*untilMonth*/,
20339  1 /*untilDay*/,
20340  0 /*untilTimeCode (0/15)*/,
20341  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20342  },
20343  // 3:00 - %z
20344  {
20345  nullptr /*zonePolicy*/,
20346  "" /*format*/,
20347  720 /*offsetCode (10800/15)*/,
20348  0 /*offsetRemainder (10800%15)*/,
20349  0 /*deltaMinutes*/,
20350  32767 /*untilYear*/,
20351  1 /*untilMonth*/,
20352  1 /*untilDay*/,
20353  0 /*untilTimeCode (0/15)*/,
20354  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20355  },
20356 
20357 };
20358 
20359 static const char kZoneNameAsia_Qatar[] ACE_TIME_PROGMEM = "\x05" "Qatar";
20360 
20361 const complete::ZoneInfo kZoneAsia_Qatar ACE_TIME_PROGMEM = {
20362  kZoneNameAsia_Qatar /*name*/,
20363  0x15a8330b /*zoneId*/,
20364  &kZoneContext /*zoneContext*/,
20365  3 /*numEras*/,
20366  kZoneEraAsia_Qatar /*eras*/,
20367  nullptr /*targetInfo*/,
20368 };
20369 
20370 //---------------------------------------------------------------------------
20371 // Zone name: Asia/Qostanay
20372 // Eras: 10
20373 //---------------------------------------------------------------------------
20374 
20375 static const complete::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = {
20376  // 4:14:28 - LMT 1924 May 2
20377  {
20378  nullptr /*zonePolicy*/,
20379  "LMT" /*format*/,
20380  1017 /*offsetCode (15268/15)*/,
20381  13 /*offsetRemainder (15268%15)*/,
20382  0 /*deltaMinutes*/,
20383  1924 /*untilYear*/,
20384  5 /*untilMonth*/,
20385  2 /*untilDay*/,
20386  0 /*untilTimeCode (0/15)*/,
20387  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20388  },
20389  // 4:00 - %z 1930 Jun 21
20390  {
20391  nullptr /*zonePolicy*/,
20392  "" /*format*/,
20393  960 /*offsetCode (14400/15)*/,
20394  0 /*offsetRemainder (14400%15)*/,
20395  0 /*deltaMinutes*/,
20396  1930 /*untilYear*/,
20397  6 /*untilMonth*/,
20398  21 /*untilDay*/,
20399  0 /*untilTimeCode (0/15)*/,
20400  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20401  },
20402  // 5:00 - %z 1981 Apr 1
20403  {
20404  nullptr /*zonePolicy*/,
20405  "" /*format*/,
20406  1200 /*offsetCode (18000/15)*/,
20407  0 /*offsetRemainder (18000%15)*/,
20408  0 /*deltaMinutes*/,
20409  1981 /*untilYear*/,
20410  4 /*untilMonth*/,
20411  1 /*untilDay*/,
20412  0 /*untilTimeCode (0/15)*/,
20413  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20414  },
20415  // 5:00 1:00 %z 1981 Oct 1
20416  {
20417  nullptr /*zonePolicy*/,
20418  "" /*format*/,
20419  1200 /*offsetCode (18000/15)*/,
20420  0 /*offsetRemainder (18000%15)*/,
20421  60 /*deltaMinutes*/,
20422  1981 /*untilYear*/,
20423  10 /*untilMonth*/,
20424  1 /*untilDay*/,
20425  0 /*untilTimeCode (0/15)*/,
20426  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20427  },
20428  // 6:00 - %z 1982 Apr 1
20429  {
20430  nullptr /*zonePolicy*/,
20431  "" /*format*/,
20432  1440 /*offsetCode (21600/15)*/,
20433  0 /*offsetRemainder (21600%15)*/,
20434  0 /*deltaMinutes*/,
20435  1982 /*untilYear*/,
20436  4 /*untilMonth*/,
20437  1 /*untilDay*/,
20438  0 /*untilTimeCode (0/15)*/,
20439  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20440  },
20441  // 5:00 RussiaAsia %z 1991 Mar 31 2:00s
20442  {
20443  &kZonePolicyRussiaAsia /*zonePolicy*/,
20444  "" /*format*/,
20445  1200 /*offsetCode (18000/15)*/,
20446  0 /*offsetRemainder (18000%15)*/,
20447  0 /*deltaMinutes*/,
20448  1991 /*untilYear*/,
20449  3 /*untilMonth*/,
20450  31 /*untilDay*/,
20451  480 /*untilTimeCode (7200/15)*/,
20452  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20453  },
20454  // 4:00 RussiaAsia %z 1992 Jan 19 2:00s
20455  {
20456  &kZonePolicyRussiaAsia /*zonePolicy*/,
20457  "" /*format*/,
20458  960 /*offsetCode (14400/15)*/,
20459  0 /*offsetRemainder (14400%15)*/,
20460  0 /*deltaMinutes*/,
20461  1992 /*untilYear*/,
20462  1 /*untilMonth*/,
20463  19 /*untilDay*/,
20464  480 /*untilTimeCode (7200/15)*/,
20465  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20466  },
20467  // 5:00 RussiaAsia %z 2004 Oct 31 2:00s
20468  {
20469  &kZonePolicyRussiaAsia /*zonePolicy*/,
20470  "" /*format*/,
20471  1200 /*offsetCode (18000/15)*/,
20472  0 /*offsetRemainder (18000%15)*/,
20473  0 /*deltaMinutes*/,
20474  2004 /*untilYear*/,
20475  10 /*untilMonth*/,
20476  31 /*untilDay*/,
20477  480 /*untilTimeCode (7200/15)*/,
20478  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20479  },
20480  // 6:00 - %z 2024 Mar 1 0:00
20481  {
20482  nullptr /*zonePolicy*/,
20483  "" /*format*/,
20484  1440 /*offsetCode (21600/15)*/,
20485  0 /*offsetRemainder (21600%15)*/,
20486  0 /*deltaMinutes*/,
20487  2024 /*untilYear*/,
20488  3 /*untilMonth*/,
20489  1 /*untilDay*/,
20490  0 /*untilTimeCode (0/15)*/,
20491  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20492  },
20493  // 5:00 - %z
20494  {
20495  nullptr /*zonePolicy*/,
20496  "" /*format*/,
20497  1200 /*offsetCode (18000/15)*/,
20498  0 /*offsetRemainder (18000%15)*/,
20499  0 /*deltaMinutes*/,
20500  32767 /*untilYear*/,
20501  1 /*untilMonth*/,
20502  1 /*untilDay*/,
20503  0 /*untilTimeCode (0/15)*/,
20504  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20505  },
20506 
20507 };
20508 
20509 static const char kZoneNameAsia_Qostanay[] ACE_TIME_PROGMEM = "\x05" "Qostanay";
20510 
20511 const complete::ZoneInfo kZoneAsia_Qostanay ACE_TIME_PROGMEM = {
20512  kZoneNameAsia_Qostanay /*name*/,
20513  0x654fe522 /*zoneId*/,
20514  &kZoneContext /*zoneContext*/,
20515  10 /*numEras*/,
20516  kZoneEraAsia_Qostanay /*eras*/,
20517  nullptr /*targetInfo*/,
20518 };
20519 
20520 //---------------------------------------------------------------------------
20521 // Zone name: Asia/Qyzylorda
20522 // Eras: 12
20523 //---------------------------------------------------------------------------
20524 
20525 static const complete::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = {
20526  // 4:21:52 - LMT 1924 May 2
20527  {
20528  nullptr /*zonePolicy*/,
20529  "LMT" /*format*/,
20530  1047 /*offsetCode (15712/15)*/,
20531  7 /*offsetRemainder (15712%15)*/,
20532  0 /*deltaMinutes*/,
20533  1924 /*untilYear*/,
20534  5 /*untilMonth*/,
20535  2 /*untilDay*/,
20536  0 /*untilTimeCode (0/15)*/,
20537  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20538  },
20539  // 4:00 - %z 1930 Jun 21
20540  {
20541  nullptr /*zonePolicy*/,
20542  "" /*format*/,
20543  960 /*offsetCode (14400/15)*/,
20544  0 /*offsetRemainder (14400%15)*/,
20545  0 /*deltaMinutes*/,
20546  1930 /*untilYear*/,
20547  6 /*untilMonth*/,
20548  21 /*untilDay*/,
20549  0 /*untilTimeCode (0/15)*/,
20550  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20551  },
20552  // 5:00 - %z 1981 Apr 1
20553  {
20554  nullptr /*zonePolicy*/,
20555  "" /*format*/,
20556  1200 /*offsetCode (18000/15)*/,
20557  0 /*offsetRemainder (18000%15)*/,
20558  0 /*deltaMinutes*/,
20559  1981 /*untilYear*/,
20560  4 /*untilMonth*/,
20561  1 /*untilDay*/,
20562  0 /*untilTimeCode (0/15)*/,
20563  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20564  },
20565  // 5:00 1:00 %z 1981 Oct 1
20566  {
20567  nullptr /*zonePolicy*/,
20568  "" /*format*/,
20569  1200 /*offsetCode (18000/15)*/,
20570  0 /*offsetRemainder (18000%15)*/,
20571  60 /*deltaMinutes*/,
20572  1981 /*untilYear*/,
20573  10 /*untilMonth*/,
20574  1 /*untilDay*/,
20575  0 /*untilTimeCode (0/15)*/,
20576  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20577  },
20578  // 6:00 - %z 1982 Apr 1
20579  {
20580  nullptr /*zonePolicy*/,
20581  "" /*format*/,
20582  1440 /*offsetCode (21600/15)*/,
20583  0 /*offsetRemainder (21600%15)*/,
20584  0 /*deltaMinutes*/,
20585  1982 /*untilYear*/,
20586  4 /*untilMonth*/,
20587  1 /*untilDay*/,
20588  0 /*untilTimeCode (0/15)*/,
20589  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20590  },
20591  // 5:00 RussiaAsia %z 1991 Mar 31 2:00s
20592  {
20593  &kZonePolicyRussiaAsia /*zonePolicy*/,
20594  "" /*format*/,
20595  1200 /*offsetCode (18000/15)*/,
20596  0 /*offsetRemainder (18000%15)*/,
20597  0 /*deltaMinutes*/,
20598  1991 /*untilYear*/,
20599  3 /*untilMonth*/,
20600  31 /*untilDay*/,
20601  480 /*untilTimeCode (7200/15)*/,
20602  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20603  },
20604  // 4:00 RussiaAsia %z 1991 Sep 29 2:00s
20605  {
20606  &kZonePolicyRussiaAsia /*zonePolicy*/,
20607  "" /*format*/,
20608  960 /*offsetCode (14400/15)*/,
20609  0 /*offsetRemainder (14400%15)*/,
20610  0 /*deltaMinutes*/,
20611  1991 /*untilYear*/,
20612  9 /*untilMonth*/,
20613  29 /*untilDay*/,
20614  480 /*untilTimeCode (7200/15)*/,
20615  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20616  },
20617  // 5:00 RussiaAsia %z 1992 Jan 19 2:00s
20618  {
20619  &kZonePolicyRussiaAsia /*zonePolicy*/,
20620  "" /*format*/,
20621  1200 /*offsetCode (18000/15)*/,
20622  0 /*offsetRemainder (18000%15)*/,
20623  0 /*deltaMinutes*/,
20624  1992 /*untilYear*/,
20625  1 /*untilMonth*/,
20626  19 /*untilDay*/,
20627  480 /*untilTimeCode (7200/15)*/,
20628  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20629  },
20630  // 6:00 RussiaAsia %z 1992 Mar 29 2:00s
20631  {
20632  &kZonePolicyRussiaAsia /*zonePolicy*/,
20633  "" /*format*/,
20634  1440 /*offsetCode (21600/15)*/,
20635  0 /*offsetRemainder (21600%15)*/,
20636  0 /*deltaMinutes*/,
20637  1992 /*untilYear*/,
20638  3 /*untilMonth*/,
20639  29 /*untilDay*/,
20640  480 /*untilTimeCode (7200/15)*/,
20641  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20642  },
20643  // 5:00 RussiaAsia %z 2004 Oct 31 2:00s
20644  {
20645  &kZonePolicyRussiaAsia /*zonePolicy*/,
20646  "" /*format*/,
20647  1200 /*offsetCode (18000/15)*/,
20648  0 /*offsetRemainder (18000%15)*/,
20649  0 /*deltaMinutes*/,
20650  2004 /*untilYear*/,
20651  10 /*untilMonth*/,
20652  31 /*untilDay*/,
20653  480 /*untilTimeCode (7200/15)*/,
20654  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20655  },
20656  // 6:00 - %z 2018 Dec 21 0:00
20657  {
20658  nullptr /*zonePolicy*/,
20659  "" /*format*/,
20660  1440 /*offsetCode (21600/15)*/,
20661  0 /*offsetRemainder (21600%15)*/,
20662  0 /*deltaMinutes*/,
20663  2018 /*untilYear*/,
20664  12 /*untilMonth*/,
20665  21 /*untilDay*/,
20666  0 /*untilTimeCode (0/15)*/,
20667  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20668  },
20669  // 5:00 - %z
20670  {
20671  nullptr /*zonePolicy*/,
20672  "" /*format*/,
20673  1200 /*offsetCode (18000/15)*/,
20674  0 /*offsetRemainder (18000%15)*/,
20675  0 /*deltaMinutes*/,
20676  32767 /*untilYear*/,
20677  1 /*untilMonth*/,
20678  1 /*untilDay*/,
20679  0 /*untilTimeCode (0/15)*/,
20680  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20681  },
20682 
20683 };
20684 
20685 static const char kZoneNameAsia_Qyzylorda[] ACE_TIME_PROGMEM = "\x05" "Qyzylorda";
20686 
20687 const complete::ZoneInfo kZoneAsia_Qyzylorda ACE_TIME_PROGMEM = {
20688  kZoneNameAsia_Qyzylorda /*name*/,
20689  0x71282e81 /*zoneId*/,
20690  &kZoneContext /*zoneContext*/,
20691  12 /*numEras*/,
20692  kZoneEraAsia_Qyzylorda /*eras*/,
20693  nullptr /*targetInfo*/,
20694 };
20695 
20696 //---------------------------------------------------------------------------
20697 // Zone name: Asia/Riyadh
20698 // Eras: 2
20699 //---------------------------------------------------------------------------
20700 
20701 static const complete::ZoneEra kZoneEraAsia_Riyadh[] ACE_TIME_PROGMEM = {
20702  // 3:06:52 - LMT 1947 Mar 14
20703  {
20704  nullptr /*zonePolicy*/,
20705  "LMT" /*format*/,
20706  747 /*offsetCode (11212/15)*/,
20707  7 /*offsetRemainder (11212%15)*/,
20708  0 /*deltaMinutes*/,
20709  1947 /*untilYear*/,
20710  3 /*untilMonth*/,
20711  14 /*untilDay*/,
20712  0 /*untilTimeCode (0/15)*/,
20713  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20714  },
20715  // 3:00 - %z
20716  {
20717  nullptr /*zonePolicy*/,
20718  "" /*format*/,
20719  720 /*offsetCode (10800/15)*/,
20720  0 /*offsetRemainder (10800%15)*/,
20721  0 /*deltaMinutes*/,
20722  32767 /*untilYear*/,
20723  1 /*untilMonth*/,
20724  1 /*untilDay*/,
20725  0 /*untilTimeCode (0/15)*/,
20726  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20727  },
20728 
20729 };
20730 
20731 static const char kZoneNameAsia_Riyadh[] ACE_TIME_PROGMEM = "\x05" "Riyadh";
20732 
20733 const complete::ZoneInfo kZoneAsia_Riyadh ACE_TIME_PROGMEM = {
20734  kZoneNameAsia_Riyadh /*name*/,
20735  0xcd973d93 /*zoneId*/,
20736  &kZoneContext /*zoneContext*/,
20737  2 /*numEras*/,
20738  kZoneEraAsia_Riyadh /*eras*/,
20739  nullptr /*targetInfo*/,
20740 };
20741 
20742 //---------------------------------------------------------------------------
20743 // Zone name: Asia/Sakhalin
20744 // Eras: 9
20745 //---------------------------------------------------------------------------
20746 
20747 static const complete::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = {
20748  // 9:30:48 - LMT 1905 Aug 23
20749  {
20750  nullptr /*zonePolicy*/,
20751  "LMT" /*format*/,
20752  2283 /*offsetCode (34248/15)*/,
20753  3 /*offsetRemainder (34248%15)*/,
20754  0 /*deltaMinutes*/,
20755  1905 /*untilYear*/,
20756  8 /*untilMonth*/,
20757  23 /*untilDay*/,
20758  0 /*untilTimeCode (0/15)*/,
20759  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20760  },
20761  // 9:00 - %z 1945 Aug 25
20762  {
20763  nullptr /*zonePolicy*/,
20764  "" /*format*/,
20765  2160 /*offsetCode (32400/15)*/,
20766  0 /*offsetRemainder (32400%15)*/,
20767  0 /*deltaMinutes*/,
20768  1945 /*untilYear*/,
20769  8 /*untilMonth*/,
20770  25 /*untilDay*/,
20771  0 /*untilTimeCode (0/15)*/,
20772  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20773  },
20774  // 11:00 Russia %z 1991 Mar 31 2:00s
20775  {
20776  &kZonePolicyRussia /*zonePolicy*/,
20777  "" /*format*/,
20778  2640 /*offsetCode (39600/15)*/,
20779  0 /*offsetRemainder (39600%15)*/,
20780  0 /*deltaMinutes*/,
20781  1991 /*untilYear*/,
20782  3 /*untilMonth*/,
20783  31 /*untilDay*/,
20784  480 /*untilTimeCode (7200/15)*/,
20785  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20786  },
20787  // 10:00 Russia %z 1992 Jan 19 2:00s
20788  {
20789  &kZonePolicyRussia /*zonePolicy*/,
20790  "" /*format*/,
20791  2400 /*offsetCode (36000/15)*/,
20792  0 /*offsetRemainder (36000%15)*/,
20793  0 /*deltaMinutes*/,
20794  1992 /*untilYear*/,
20795  1 /*untilMonth*/,
20796  19 /*untilDay*/,
20797  480 /*untilTimeCode (7200/15)*/,
20798  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20799  },
20800  // 11:00 Russia %z 1997 Mar lastSun 2:00s
20801  {
20802  &kZonePolicyRussia /*zonePolicy*/,
20803  "" /*format*/,
20804  2640 /*offsetCode (39600/15)*/,
20805  0 /*offsetRemainder (39600%15)*/,
20806  0 /*deltaMinutes*/,
20807  1997 /*untilYear*/,
20808  3 /*untilMonth*/,
20809  30 /*untilDay*/,
20810  480 /*untilTimeCode (7200/15)*/,
20811  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20812  },
20813  // 10:00 Russia %z 2011 Mar 27 2:00s
20814  {
20815  &kZonePolicyRussia /*zonePolicy*/,
20816  "" /*format*/,
20817  2400 /*offsetCode (36000/15)*/,
20818  0 /*offsetRemainder (36000%15)*/,
20819  0 /*deltaMinutes*/,
20820  2011 /*untilYear*/,
20821  3 /*untilMonth*/,
20822  27 /*untilDay*/,
20823  480 /*untilTimeCode (7200/15)*/,
20824  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20825  },
20826  // 11:00 - %z 2014 Oct 26 2:00s
20827  {
20828  nullptr /*zonePolicy*/,
20829  "" /*format*/,
20830  2640 /*offsetCode (39600/15)*/,
20831  0 /*offsetRemainder (39600%15)*/,
20832  0 /*deltaMinutes*/,
20833  2014 /*untilYear*/,
20834  10 /*untilMonth*/,
20835  26 /*untilDay*/,
20836  480 /*untilTimeCode (7200/15)*/,
20837  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20838  },
20839  // 10:00 - %z 2016 Mar 27 2:00s
20840  {
20841  nullptr /*zonePolicy*/,
20842  "" /*format*/,
20843  2400 /*offsetCode (36000/15)*/,
20844  0 /*offsetRemainder (36000%15)*/,
20845  0 /*deltaMinutes*/,
20846  2016 /*untilYear*/,
20847  3 /*untilMonth*/,
20848  27 /*untilDay*/,
20849  480 /*untilTimeCode (7200/15)*/,
20850  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
20851  },
20852  // 11:00 - %z
20853  {
20854  nullptr /*zonePolicy*/,
20855  "" /*format*/,
20856  2640 /*offsetCode (39600/15)*/,
20857  0 /*offsetRemainder (39600%15)*/,
20858  0 /*deltaMinutes*/,
20859  32767 /*untilYear*/,
20860  1 /*untilMonth*/,
20861  1 /*untilDay*/,
20862  0 /*untilTimeCode (0/15)*/,
20863  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20864  },
20865 
20866 };
20867 
20868 static const char kZoneNameAsia_Sakhalin[] ACE_TIME_PROGMEM = "\x05" "Sakhalin";
20869 
20870 const complete::ZoneInfo kZoneAsia_Sakhalin ACE_TIME_PROGMEM = {
20871  kZoneNameAsia_Sakhalin /*name*/,
20872  0xf4a1c9bd /*zoneId*/,
20873  &kZoneContext /*zoneContext*/,
20874  9 /*numEras*/,
20875  kZoneEraAsia_Sakhalin /*eras*/,
20876  nullptr /*targetInfo*/,
20877 };
20878 
20879 //---------------------------------------------------------------------------
20880 // Zone name: Asia/Samarkand
20881 // Eras: 7
20882 //---------------------------------------------------------------------------
20883 
20884 static const complete::ZoneEra kZoneEraAsia_Samarkand[] ACE_TIME_PROGMEM = {
20885  // 4:27:53 - LMT 1924 May 2
20886  {
20887  nullptr /*zonePolicy*/,
20888  "LMT" /*format*/,
20889  1071 /*offsetCode (16073/15)*/,
20890  8 /*offsetRemainder (16073%15)*/,
20891  0 /*deltaMinutes*/,
20892  1924 /*untilYear*/,
20893  5 /*untilMonth*/,
20894  2 /*untilDay*/,
20895  0 /*untilTimeCode (0/15)*/,
20896  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20897  },
20898  // 4:00 - %z 1930 Jun 21
20899  {
20900  nullptr /*zonePolicy*/,
20901  "" /*format*/,
20902  960 /*offsetCode (14400/15)*/,
20903  0 /*offsetRemainder (14400%15)*/,
20904  0 /*deltaMinutes*/,
20905  1930 /*untilYear*/,
20906  6 /*untilMonth*/,
20907  21 /*untilDay*/,
20908  0 /*untilTimeCode (0/15)*/,
20909  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20910  },
20911  // 5:00 - %z 1981 Apr 1
20912  {
20913  nullptr /*zonePolicy*/,
20914  "" /*format*/,
20915  1200 /*offsetCode (18000/15)*/,
20916  0 /*offsetRemainder (18000%15)*/,
20917  0 /*deltaMinutes*/,
20918  1981 /*untilYear*/,
20919  4 /*untilMonth*/,
20920  1 /*untilDay*/,
20921  0 /*untilTimeCode (0/15)*/,
20922  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20923  },
20924  // 5:00 1:00 %z 1981 Oct 1
20925  {
20926  nullptr /*zonePolicy*/,
20927  "" /*format*/,
20928  1200 /*offsetCode (18000/15)*/,
20929  0 /*offsetRemainder (18000%15)*/,
20930  60 /*deltaMinutes*/,
20931  1981 /*untilYear*/,
20932  10 /*untilMonth*/,
20933  1 /*untilDay*/,
20934  0 /*untilTimeCode (0/15)*/,
20935  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20936  },
20937  // 6:00 - %z 1982 Apr 1
20938  {
20939  nullptr /*zonePolicy*/,
20940  "" /*format*/,
20941  1440 /*offsetCode (21600/15)*/,
20942  0 /*offsetRemainder (21600%15)*/,
20943  0 /*deltaMinutes*/,
20944  1982 /*untilYear*/,
20945  4 /*untilMonth*/,
20946  1 /*untilDay*/,
20947  0 /*untilTimeCode (0/15)*/,
20948  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20949  },
20950  // 5:00 RussiaAsia %z 1992
20951  {
20952  &kZonePolicyRussiaAsia /*zonePolicy*/,
20953  "" /*format*/,
20954  1200 /*offsetCode (18000/15)*/,
20955  0 /*offsetRemainder (18000%15)*/,
20956  0 /*deltaMinutes*/,
20957  1992 /*untilYear*/,
20958  1 /*untilMonth*/,
20959  1 /*untilDay*/,
20960  0 /*untilTimeCode (0/15)*/,
20961  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20962  },
20963  // 5:00 - %z
20964  {
20965  nullptr /*zonePolicy*/,
20966  "" /*format*/,
20967  1200 /*offsetCode (18000/15)*/,
20968  0 /*offsetRemainder (18000%15)*/,
20969  0 /*deltaMinutes*/,
20970  32767 /*untilYear*/,
20971  1 /*untilMonth*/,
20972  1 /*untilDay*/,
20973  0 /*untilTimeCode (0/15)*/,
20974  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
20975  },
20976 
20977 };
20978 
20979 static const char kZoneNameAsia_Samarkand[] ACE_TIME_PROGMEM = "\x05" "Samarkand";
20980 
20981 const complete::ZoneInfo kZoneAsia_Samarkand ACE_TIME_PROGMEM = {
20982  kZoneNameAsia_Samarkand /*name*/,
20983  0x13ae5104 /*zoneId*/,
20984  &kZoneContext /*zoneContext*/,
20985  7 /*numEras*/,
20986  kZoneEraAsia_Samarkand /*eras*/,
20987  nullptr /*targetInfo*/,
20988 };
20989 
20990 //---------------------------------------------------------------------------
20991 // Zone name: Asia/Seoul
20992 // Eras: 6
20993 //---------------------------------------------------------------------------
20994 
20995 static const complete::ZoneEra kZoneEraAsia_Seoul[] ACE_TIME_PROGMEM = {
20996  // 8:27:52 - LMT 1908 Apr 1
20997  {
20998  nullptr /*zonePolicy*/,
20999  "LMT" /*format*/,
21000  2031 /*offsetCode (30472/15)*/,
21001  7 /*offsetRemainder (30472%15)*/,
21002  0 /*deltaMinutes*/,
21003  1908 /*untilYear*/,
21004  4 /*untilMonth*/,
21005  1 /*untilDay*/,
21006  0 /*untilTimeCode (0/15)*/,
21007  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21008  },
21009  // 8:30 - KST 1912 Jan 1
21010  {
21011  nullptr /*zonePolicy*/,
21012  "KST" /*format*/,
21013  2040 /*offsetCode (30600/15)*/,
21014  0 /*offsetRemainder (30600%15)*/,
21015  0 /*deltaMinutes*/,
21016  1912 /*untilYear*/,
21017  1 /*untilMonth*/,
21018  1 /*untilDay*/,
21019  0 /*untilTimeCode (0/15)*/,
21020  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21021  },
21022  // 9:00 - JST 1945 Sep 8
21023  {
21024  nullptr /*zonePolicy*/,
21025  "JST" /*format*/,
21026  2160 /*offsetCode (32400/15)*/,
21027  0 /*offsetRemainder (32400%15)*/,
21028  0 /*deltaMinutes*/,
21029  1945 /*untilYear*/,
21030  9 /*untilMonth*/,
21031  8 /*untilDay*/,
21032  0 /*untilTimeCode (0/15)*/,
21033  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21034  },
21035  // 9:00 ROK K%sT 1954 Mar 21
21036  {
21037  &kZonePolicyROK /*zonePolicy*/,
21038  "K%T" /*format*/,
21039  2160 /*offsetCode (32400/15)*/,
21040  0 /*offsetRemainder (32400%15)*/,
21041  0 /*deltaMinutes*/,
21042  1954 /*untilYear*/,
21043  3 /*untilMonth*/,
21044  21 /*untilDay*/,
21045  0 /*untilTimeCode (0/15)*/,
21046  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21047  },
21048  // 8:30 ROK K%sT 1961 Aug 10
21049  {
21050  &kZonePolicyROK /*zonePolicy*/,
21051  "K%T" /*format*/,
21052  2040 /*offsetCode (30600/15)*/,
21053  0 /*offsetRemainder (30600%15)*/,
21054  0 /*deltaMinutes*/,
21055  1961 /*untilYear*/,
21056  8 /*untilMonth*/,
21057  10 /*untilDay*/,
21058  0 /*untilTimeCode (0/15)*/,
21059  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21060  },
21061  // 9:00 ROK K%sT
21062  {
21063  &kZonePolicyROK /*zonePolicy*/,
21064  "K%T" /*format*/,
21065  2160 /*offsetCode (32400/15)*/,
21066  0 /*offsetRemainder (32400%15)*/,
21067  0 /*deltaMinutes*/,
21068  32767 /*untilYear*/,
21069  1 /*untilMonth*/,
21070  1 /*untilDay*/,
21071  0 /*untilTimeCode (0/15)*/,
21072  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21073  },
21074 
21075 };
21076 
21077 static const char kZoneNameAsia_Seoul[] ACE_TIME_PROGMEM = "\x05" "Seoul";
21078 
21079 const complete::ZoneInfo kZoneAsia_Seoul ACE_TIME_PROGMEM = {
21080  kZoneNameAsia_Seoul /*name*/,
21081  0x15ce82da /*zoneId*/,
21082  &kZoneContext /*zoneContext*/,
21083  6 /*numEras*/,
21084  kZoneEraAsia_Seoul /*eras*/,
21085  nullptr /*targetInfo*/,
21086 };
21087 
21088 //---------------------------------------------------------------------------
21089 // Zone name: Asia/Shanghai
21090 // Eras: 3
21091 //---------------------------------------------------------------------------
21092 
21093 static const complete::ZoneEra kZoneEraAsia_Shanghai[] ACE_TIME_PROGMEM = {
21094  // 8:05:43 - LMT 1901
21095  {
21096  nullptr /*zonePolicy*/,
21097  "LMT" /*format*/,
21098  1942 /*offsetCode (29143/15)*/,
21099  13 /*offsetRemainder (29143%15)*/,
21100  0 /*deltaMinutes*/,
21101  1901 /*untilYear*/,
21102  1 /*untilMonth*/,
21103  1 /*untilDay*/,
21104  0 /*untilTimeCode (0/15)*/,
21105  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21106  },
21107  // 8:00 Shang C%sT 1949 May 28
21108  {
21109  &kZonePolicyShang /*zonePolicy*/,
21110  "C%T" /*format*/,
21111  1920 /*offsetCode (28800/15)*/,
21112  0 /*offsetRemainder (28800%15)*/,
21113  0 /*deltaMinutes*/,
21114  1949 /*untilYear*/,
21115  5 /*untilMonth*/,
21116  28 /*untilDay*/,
21117  0 /*untilTimeCode (0/15)*/,
21118  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21119  },
21120  // 8:00 PRC C%sT
21121  {
21122  &kZonePolicyPRC /*zonePolicy*/,
21123  "C%T" /*format*/,
21124  1920 /*offsetCode (28800/15)*/,
21125  0 /*offsetRemainder (28800%15)*/,
21126  0 /*deltaMinutes*/,
21127  32767 /*untilYear*/,
21128  1 /*untilMonth*/,
21129  1 /*untilDay*/,
21130  0 /*untilTimeCode (0/15)*/,
21131  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21132  },
21133 
21134 };
21135 
21136 static const char kZoneNameAsia_Shanghai[] ACE_TIME_PROGMEM = "\x05" "Shanghai";
21137 
21138 const complete::ZoneInfo kZoneAsia_Shanghai ACE_TIME_PROGMEM = {
21139  kZoneNameAsia_Shanghai /*name*/,
21140  0xf895a7f5 /*zoneId*/,
21141  &kZoneContext /*zoneContext*/,
21142  3 /*numEras*/,
21143  kZoneEraAsia_Shanghai /*eras*/,
21144  nullptr /*targetInfo*/,
21145 };
21146 
21147 //---------------------------------------------------------------------------
21148 // Zone name: Asia/Singapore
21149 // Eras: 9
21150 //---------------------------------------------------------------------------
21151 
21152 static const complete::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = {
21153  // 6:55:25 - LMT 1901 Jan 1
21154  {
21155  nullptr /*zonePolicy*/,
21156  "LMT" /*format*/,
21157  1661 /*offsetCode (24925/15)*/,
21158  10 /*offsetRemainder (24925%15)*/,
21159  0 /*deltaMinutes*/,
21160  1901 /*untilYear*/,
21161  1 /*untilMonth*/,
21162  1 /*untilDay*/,
21163  0 /*untilTimeCode (0/15)*/,
21164  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21165  },
21166  // 6:55:25 - SMT 1905 Jun 1
21167  {
21168  nullptr /*zonePolicy*/,
21169  "SMT" /*format*/,
21170  1661 /*offsetCode (24925/15)*/,
21171  10 /*offsetRemainder (24925%15)*/,
21172  0 /*deltaMinutes*/,
21173  1905 /*untilYear*/,
21174  6 /*untilMonth*/,
21175  1 /*untilDay*/,
21176  0 /*untilTimeCode (0/15)*/,
21177  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21178  },
21179  // 7:00 - %z 1933 Jan 1
21180  {
21181  nullptr /*zonePolicy*/,
21182  "" /*format*/,
21183  1680 /*offsetCode (25200/15)*/,
21184  0 /*offsetRemainder (25200%15)*/,
21185  0 /*deltaMinutes*/,
21186  1933 /*untilYear*/,
21187  1 /*untilMonth*/,
21188  1 /*untilDay*/,
21189  0 /*untilTimeCode (0/15)*/,
21190  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21191  },
21192  // 7:00 0:20 %z 1936 Jan 1
21193  {
21194  nullptr /*zonePolicy*/,
21195  "" /*format*/,
21196  1680 /*offsetCode (25200/15)*/,
21197  0 /*offsetRemainder (25200%15)*/,
21198  20 /*deltaMinutes*/,
21199  1936 /*untilYear*/,
21200  1 /*untilMonth*/,
21201  1 /*untilDay*/,
21202  0 /*untilTimeCode (0/15)*/,
21203  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21204  },
21205  // 7:20 - %z 1941 Sep 1
21206  {
21207  nullptr /*zonePolicy*/,
21208  "" /*format*/,
21209  1760 /*offsetCode (26400/15)*/,
21210  0 /*offsetRemainder (26400%15)*/,
21211  0 /*deltaMinutes*/,
21212  1941 /*untilYear*/,
21213  9 /*untilMonth*/,
21214  1 /*untilDay*/,
21215  0 /*untilTimeCode (0/15)*/,
21216  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21217  },
21218  // 7:30 - %z 1942 Feb 16
21219  {
21220  nullptr /*zonePolicy*/,
21221  "" /*format*/,
21222  1800 /*offsetCode (27000/15)*/,
21223  0 /*offsetRemainder (27000%15)*/,
21224  0 /*deltaMinutes*/,
21225  1942 /*untilYear*/,
21226  2 /*untilMonth*/,
21227  16 /*untilDay*/,
21228  0 /*untilTimeCode (0/15)*/,
21229  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21230  },
21231  // 9:00 - %z 1945 Sep 12
21232  {
21233  nullptr /*zonePolicy*/,
21234  "" /*format*/,
21235  2160 /*offsetCode (32400/15)*/,
21236  0 /*offsetRemainder (32400%15)*/,
21237  0 /*deltaMinutes*/,
21238  1945 /*untilYear*/,
21239  9 /*untilMonth*/,
21240  12 /*untilDay*/,
21241  0 /*untilTimeCode (0/15)*/,
21242  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21243  },
21244  // 7:30 - %z 1981 Dec 31 16:00u
21245  {
21246  nullptr /*zonePolicy*/,
21247  "" /*format*/,
21248  1800 /*offsetCode (27000/15)*/,
21249  0 /*offsetRemainder (27000%15)*/,
21250  0 /*deltaMinutes*/,
21251  1981 /*untilYear*/,
21252  12 /*untilMonth*/,
21253  31 /*untilDay*/,
21254  3840 /*untilTimeCode (57600/15)*/,
21255  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
21256  },
21257  // 8:00 - %z
21258  {
21259  nullptr /*zonePolicy*/,
21260  "" /*format*/,
21261  1920 /*offsetCode (28800/15)*/,
21262  0 /*offsetRemainder (28800%15)*/,
21263  0 /*deltaMinutes*/,
21264  32767 /*untilYear*/,
21265  1 /*untilMonth*/,
21266  1 /*untilDay*/,
21267  0 /*untilTimeCode (0/15)*/,
21268  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21269  },
21270 
21271 };
21272 
21273 static const char kZoneNameAsia_Singapore[] ACE_TIME_PROGMEM = "\x05" "Singapore";
21274 
21275 const complete::ZoneInfo kZoneAsia_Singapore ACE_TIME_PROGMEM = {
21276  kZoneNameAsia_Singapore /*name*/,
21277  0xcf8581fa /*zoneId*/,
21278  &kZoneContext /*zoneContext*/,
21279  9 /*numEras*/,
21280  kZoneEraAsia_Singapore /*eras*/,
21281  nullptr /*targetInfo*/,
21282 };
21283 
21284 //---------------------------------------------------------------------------
21285 // Zone name: Asia/Srednekolymsk
21286 // Eras: 7
21287 //---------------------------------------------------------------------------
21288 
21289 static const complete::ZoneEra kZoneEraAsia_Srednekolymsk[] ACE_TIME_PROGMEM = {
21290  // 10:14:52 - LMT 1924 May 2
21291  {
21292  nullptr /*zonePolicy*/,
21293  "LMT" /*format*/,
21294  2459 /*offsetCode (36892/15)*/,
21295  7 /*offsetRemainder (36892%15)*/,
21296  0 /*deltaMinutes*/,
21297  1924 /*untilYear*/,
21298  5 /*untilMonth*/,
21299  2 /*untilDay*/,
21300  0 /*untilTimeCode (0/15)*/,
21301  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21302  },
21303  // 10:00 - %z 1930 Jun 21
21304  {
21305  nullptr /*zonePolicy*/,
21306  "" /*format*/,
21307  2400 /*offsetCode (36000/15)*/,
21308  0 /*offsetRemainder (36000%15)*/,
21309  0 /*deltaMinutes*/,
21310  1930 /*untilYear*/,
21311  6 /*untilMonth*/,
21312  21 /*untilDay*/,
21313  0 /*untilTimeCode (0/15)*/,
21314  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21315  },
21316  // 11:00 Russia %z 1991 Mar 31 2:00s
21317  {
21318  &kZonePolicyRussia /*zonePolicy*/,
21319  "" /*format*/,
21320  2640 /*offsetCode (39600/15)*/,
21321  0 /*offsetRemainder (39600%15)*/,
21322  0 /*deltaMinutes*/,
21323  1991 /*untilYear*/,
21324  3 /*untilMonth*/,
21325  31 /*untilDay*/,
21326  480 /*untilTimeCode (7200/15)*/,
21327  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21328  },
21329  // 10:00 Russia %z 1992 Jan 19 2:00s
21330  {
21331  &kZonePolicyRussia /*zonePolicy*/,
21332  "" /*format*/,
21333  2400 /*offsetCode (36000/15)*/,
21334  0 /*offsetRemainder (36000%15)*/,
21335  0 /*deltaMinutes*/,
21336  1992 /*untilYear*/,
21337  1 /*untilMonth*/,
21338  19 /*untilDay*/,
21339  480 /*untilTimeCode (7200/15)*/,
21340  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21341  },
21342  // 11:00 Russia %z 2011 Mar 27 2:00s
21343  {
21344  &kZonePolicyRussia /*zonePolicy*/,
21345  "" /*format*/,
21346  2640 /*offsetCode (39600/15)*/,
21347  0 /*offsetRemainder (39600%15)*/,
21348  0 /*deltaMinutes*/,
21349  2011 /*untilYear*/,
21350  3 /*untilMonth*/,
21351  27 /*untilDay*/,
21352  480 /*untilTimeCode (7200/15)*/,
21353  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21354  },
21355  // 12:00 - %z 2014 Oct 26 2:00s
21356  {
21357  nullptr /*zonePolicy*/,
21358  "" /*format*/,
21359  2880 /*offsetCode (43200/15)*/,
21360  0 /*offsetRemainder (43200%15)*/,
21361  0 /*deltaMinutes*/,
21362  2014 /*untilYear*/,
21363  10 /*untilMonth*/,
21364  26 /*untilDay*/,
21365  480 /*untilTimeCode (7200/15)*/,
21366  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21367  },
21368  // 11:00 - %z
21369  {
21370  nullptr /*zonePolicy*/,
21371  "" /*format*/,
21372  2640 /*offsetCode (39600/15)*/,
21373  0 /*offsetRemainder (39600%15)*/,
21374  0 /*deltaMinutes*/,
21375  32767 /*untilYear*/,
21376  1 /*untilMonth*/,
21377  1 /*untilDay*/,
21378  0 /*untilTimeCode (0/15)*/,
21379  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21380  },
21381 
21382 };
21383 
21384 static const char kZoneNameAsia_Srednekolymsk[] ACE_TIME_PROGMEM = "\x05" "Srednekolymsk";
21385 
21386 const complete::ZoneInfo kZoneAsia_Srednekolymsk ACE_TIME_PROGMEM = {
21387  kZoneNameAsia_Srednekolymsk /*name*/,
21388  0xbf8e337d /*zoneId*/,
21389  &kZoneContext /*zoneContext*/,
21390  7 /*numEras*/,
21391  kZoneEraAsia_Srednekolymsk /*eras*/,
21392  nullptr /*targetInfo*/,
21393 };
21394 
21395 //---------------------------------------------------------------------------
21396 // Zone name: Asia/Taipei
21397 // Eras: 4
21398 //---------------------------------------------------------------------------
21399 
21400 static const complete::ZoneEra kZoneEraAsia_Taipei[] ACE_TIME_PROGMEM = {
21401  // 8:06:00 - LMT 1896 Jan 1
21402  {
21403  nullptr /*zonePolicy*/,
21404  "LMT" /*format*/,
21405  1944 /*offsetCode (29160/15)*/,
21406  0 /*offsetRemainder (29160%15)*/,
21407  0 /*deltaMinutes*/,
21408  1896 /*untilYear*/,
21409  1 /*untilMonth*/,
21410  1 /*untilDay*/,
21411  0 /*untilTimeCode (0/15)*/,
21412  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21413  },
21414  // 8:00 - CST 1937 Oct 1
21415  {
21416  nullptr /*zonePolicy*/,
21417  "CST" /*format*/,
21418  1920 /*offsetCode (28800/15)*/,
21419  0 /*offsetRemainder (28800%15)*/,
21420  0 /*deltaMinutes*/,
21421  1937 /*untilYear*/,
21422  10 /*untilMonth*/,
21423  1 /*untilDay*/,
21424  0 /*untilTimeCode (0/15)*/,
21425  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21426  },
21427  // 9:00 - JST 1945 Sep 21 1:00
21428  {
21429  nullptr /*zonePolicy*/,
21430  "JST" /*format*/,
21431  2160 /*offsetCode (32400/15)*/,
21432  0 /*offsetRemainder (32400%15)*/,
21433  0 /*deltaMinutes*/,
21434  1945 /*untilYear*/,
21435  9 /*untilMonth*/,
21436  21 /*untilDay*/,
21437  240 /*untilTimeCode (3600/15)*/,
21438  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21439  },
21440  // 8:00 Taiwan C%sT
21441  {
21442  &kZonePolicyTaiwan /*zonePolicy*/,
21443  "C%T" /*format*/,
21444  1920 /*offsetCode (28800/15)*/,
21445  0 /*offsetRemainder (28800%15)*/,
21446  0 /*deltaMinutes*/,
21447  32767 /*untilYear*/,
21448  1 /*untilMonth*/,
21449  1 /*untilDay*/,
21450  0 /*untilTimeCode (0/15)*/,
21451  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21452  },
21453 
21454 };
21455 
21456 static const char kZoneNameAsia_Taipei[] ACE_TIME_PROGMEM = "\x05" "Taipei";
21457 
21458 const complete::ZoneInfo kZoneAsia_Taipei ACE_TIME_PROGMEM = {
21459  kZoneNameAsia_Taipei /*name*/,
21460  0xd1a844ae /*zoneId*/,
21461  &kZoneContext /*zoneContext*/,
21462  4 /*numEras*/,
21463  kZoneEraAsia_Taipei /*eras*/,
21464  nullptr /*targetInfo*/,
21465 };
21466 
21467 //---------------------------------------------------------------------------
21468 // Zone name: Asia/Tashkent
21469 // Eras: 5
21470 //---------------------------------------------------------------------------
21471 
21472 static const complete::ZoneEra kZoneEraAsia_Tashkent[] ACE_TIME_PROGMEM = {
21473  // 4:37:11 - LMT 1924 May 2
21474  {
21475  nullptr /*zonePolicy*/,
21476  "LMT" /*format*/,
21477  1108 /*offsetCode (16631/15)*/,
21478  11 /*offsetRemainder (16631%15)*/,
21479  0 /*deltaMinutes*/,
21480  1924 /*untilYear*/,
21481  5 /*untilMonth*/,
21482  2 /*untilDay*/,
21483  0 /*untilTimeCode (0/15)*/,
21484  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21485  },
21486  // 5:00 - %z 1930 Jun 21
21487  {
21488  nullptr /*zonePolicy*/,
21489  "" /*format*/,
21490  1200 /*offsetCode (18000/15)*/,
21491  0 /*offsetRemainder (18000%15)*/,
21492  0 /*deltaMinutes*/,
21493  1930 /*untilYear*/,
21494  6 /*untilMonth*/,
21495  21 /*untilDay*/,
21496  0 /*untilTimeCode (0/15)*/,
21497  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21498  },
21499  // 6:00 RussiaAsia %z 1991 Mar 31 2:00
21500  {
21501  &kZonePolicyRussiaAsia /*zonePolicy*/,
21502  "" /*format*/,
21503  1440 /*offsetCode (21600/15)*/,
21504  0 /*offsetRemainder (21600%15)*/,
21505  0 /*deltaMinutes*/,
21506  1991 /*untilYear*/,
21507  3 /*untilMonth*/,
21508  31 /*untilDay*/,
21509  480 /*untilTimeCode (7200/15)*/,
21510  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21511  },
21512  // 5:00 RussiaAsia %z 1992
21513  {
21514  &kZonePolicyRussiaAsia /*zonePolicy*/,
21515  "" /*format*/,
21516  1200 /*offsetCode (18000/15)*/,
21517  0 /*offsetRemainder (18000%15)*/,
21518  0 /*deltaMinutes*/,
21519  1992 /*untilYear*/,
21520  1 /*untilMonth*/,
21521  1 /*untilDay*/,
21522  0 /*untilTimeCode (0/15)*/,
21523  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21524  },
21525  // 5:00 - %z
21526  {
21527  nullptr /*zonePolicy*/,
21528  "" /*format*/,
21529  1200 /*offsetCode (18000/15)*/,
21530  0 /*offsetRemainder (18000%15)*/,
21531  0 /*deltaMinutes*/,
21532  32767 /*untilYear*/,
21533  1 /*untilMonth*/,
21534  1 /*untilDay*/,
21535  0 /*untilTimeCode (0/15)*/,
21536  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21537  },
21538 
21539 };
21540 
21541 static const char kZoneNameAsia_Tashkent[] ACE_TIME_PROGMEM = "\x05" "Tashkent";
21542 
21543 const complete::ZoneInfo kZoneAsia_Tashkent ACE_TIME_PROGMEM = {
21544  kZoneNameAsia_Tashkent /*name*/,
21545  0xf3924254 /*zoneId*/,
21546  &kZoneContext /*zoneContext*/,
21547  5 /*numEras*/,
21548  kZoneEraAsia_Tashkent /*eras*/,
21549  nullptr /*targetInfo*/,
21550 };
21551 
21552 //---------------------------------------------------------------------------
21553 // Zone name: Asia/Tbilisi
21554 // Eras: 11
21555 //---------------------------------------------------------------------------
21556 
21557 static const complete::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = {
21558  // 2:59:11 - LMT 1880
21559  {
21560  nullptr /*zonePolicy*/,
21561  "LMT" /*format*/,
21562  716 /*offsetCode (10751/15)*/,
21563  11 /*offsetRemainder (10751%15)*/,
21564  0 /*deltaMinutes*/,
21565  1880 /*untilYear*/,
21566  1 /*untilMonth*/,
21567  1 /*untilDay*/,
21568  0 /*untilTimeCode (0/15)*/,
21569  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21570  },
21571  // 2:59:11 - TBMT 1924 May 2
21572  {
21573  nullptr /*zonePolicy*/,
21574  "TBMT" /*format*/,
21575  716 /*offsetCode (10751/15)*/,
21576  11 /*offsetRemainder (10751%15)*/,
21577  0 /*deltaMinutes*/,
21578  1924 /*untilYear*/,
21579  5 /*untilMonth*/,
21580  2 /*untilDay*/,
21581  0 /*untilTimeCode (0/15)*/,
21582  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21583  },
21584  // 3:00 - %z 1957 Mar
21585  {
21586  nullptr /*zonePolicy*/,
21587  "" /*format*/,
21588  720 /*offsetCode (10800/15)*/,
21589  0 /*offsetRemainder (10800%15)*/,
21590  0 /*deltaMinutes*/,
21591  1957 /*untilYear*/,
21592  3 /*untilMonth*/,
21593  1 /*untilDay*/,
21594  0 /*untilTimeCode (0/15)*/,
21595  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21596  },
21597  // 4:00 RussiaAsia %z 1991 Mar 31 2:00s
21598  {
21599  &kZonePolicyRussiaAsia /*zonePolicy*/,
21600  "" /*format*/,
21601  960 /*offsetCode (14400/15)*/,
21602  0 /*offsetRemainder (14400%15)*/,
21603  0 /*deltaMinutes*/,
21604  1991 /*untilYear*/,
21605  3 /*untilMonth*/,
21606  31 /*untilDay*/,
21607  480 /*untilTimeCode (7200/15)*/,
21608  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21609  },
21610  // 3:00 RussiaAsia %z 1992
21611  {
21612  &kZonePolicyRussiaAsia /*zonePolicy*/,
21613  "" /*format*/,
21614  720 /*offsetCode (10800/15)*/,
21615  0 /*offsetRemainder (10800%15)*/,
21616  0 /*deltaMinutes*/,
21617  1992 /*untilYear*/,
21618  1 /*untilMonth*/,
21619  1 /*untilDay*/,
21620  0 /*untilTimeCode (0/15)*/,
21621  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21622  },
21623  // 3:00 E-EurAsia %z 1994 Sep lastSun
21624  {
21625  &kZonePolicyE_EurAsia /*zonePolicy*/,
21626  "" /*format*/,
21627  720 /*offsetCode (10800/15)*/,
21628  0 /*offsetRemainder (10800%15)*/,
21629  0 /*deltaMinutes*/,
21630  1994 /*untilYear*/,
21631  9 /*untilMonth*/,
21632  25 /*untilDay*/,
21633  0 /*untilTimeCode (0/15)*/,
21634  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21635  },
21636  // 4:00 E-EurAsia %z 1996 Oct lastSun
21637  {
21638  &kZonePolicyE_EurAsia /*zonePolicy*/,
21639  "" /*format*/,
21640  960 /*offsetCode (14400/15)*/,
21641  0 /*offsetRemainder (14400%15)*/,
21642  0 /*deltaMinutes*/,
21643  1996 /*untilYear*/,
21644  10 /*untilMonth*/,
21645  27 /*untilDay*/,
21646  0 /*untilTimeCode (0/15)*/,
21647  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21648  },
21649  // 4:00 1:00 %z 1997 Mar lastSun
21650  {
21651  nullptr /*zonePolicy*/,
21652  "" /*format*/,
21653  960 /*offsetCode (14400/15)*/,
21654  0 /*offsetRemainder (14400%15)*/,
21655  60 /*deltaMinutes*/,
21656  1997 /*untilYear*/,
21657  3 /*untilMonth*/,
21658  30 /*untilDay*/,
21659  0 /*untilTimeCode (0/15)*/,
21660  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21661  },
21662  // 4:00 E-EurAsia %z 2004 Jun 27
21663  {
21664  &kZonePolicyE_EurAsia /*zonePolicy*/,
21665  "" /*format*/,
21666  960 /*offsetCode (14400/15)*/,
21667  0 /*offsetRemainder (14400%15)*/,
21668  0 /*deltaMinutes*/,
21669  2004 /*untilYear*/,
21670  6 /*untilMonth*/,
21671  27 /*untilDay*/,
21672  0 /*untilTimeCode (0/15)*/,
21673  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21674  },
21675  // 3:00 RussiaAsia %z 2005 Mar lastSun 2:00
21676  {
21677  &kZonePolicyRussiaAsia /*zonePolicy*/,
21678  "" /*format*/,
21679  720 /*offsetCode (10800/15)*/,
21680  0 /*offsetRemainder (10800%15)*/,
21681  0 /*deltaMinutes*/,
21682  2005 /*untilYear*/,
21683  3 /*untilMonth*/,
21684  27 /*untilDay*/,
21685  480 /*untilTimeCode (7200/15)*/,
21686  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21687  },
21688  // 4:00 - %z
21689  {
21690  nullptr /*zonePolicy*/,
21691  "" /*format*/,
21692  960 /*offsetCode (14400/15)*/,
21693  0 /*offsetRemainder (14400%15)*/,
21694  0 /*deltaMinutes*/,
21695  32767 /*untilYear*/,
21696  1 /*untilMonth*/,
21697  1 /*untilDay*/,
21698  0 /*untilTimeCode (0/15)*/,
21699  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21700  },
21701 
21702 };
21703 
21704 static const char kZoneNameAsia_Tbilisi[] ACE_TIME_PROGMEM = "\x05" "Tbilisi";
21705 
21706 const complete::ZoneInfo kZoneAsia_Tbilisi ACE_TIME_PROGMEM = {
21707  kZoneNameAsia_Tbilisi /*name*/,
21708  0x0903e442 /*zoneId*/,
21709  &kZoneContext /*zoneContext*/,
21710  11 /*numEras*/,
21711  kZoneEraAsia_Tbilisi /*eras*/,
21712  nullptr /*targetInfo*/,
21713 };
21714 
21715 //---------------------------------------------------------------------------
21716 // Zone name: Asia/Tehran
21717 // Eras: 5
21718 //---------------------------------------------------------------------------
21719 
21720 static const complete::ZoneEra kZoneEraAsia_Tehran[] ACE_TIME_PROGMEM = {
21721  // 3:25:44 - LMT 1916
21722  {
21723  nullptr /*zonePolicy*/,
21724  "LMT" /*format*/,
21725  822 /*offsetCode (12344/15)*/,
21726  14 /*offsetRemainder (12344%15)*/,
21727  0 /*deltaMinutes*/,
21728  1916 /*untilYear*/,
21729  1 /*untilMonth*/,
21730  1 /*untilDay*/,
21731  0 /*untilTimeCode (0/15)*/,
21732  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21733  },
21734  // 3:25:44 - TMT 1935 Jun 13
21735  {
21736  nullptr /*zonePolicy*/,
21737  "TMT" /*format*/,
21738  822 /*offsetCode (12344/15)*/,
21739  14 /*offsetRemainder (12344%15)*/,
21740  0 /*deltaMinutes*/,
21741  1935 /*untilYear*/,
21742  6 /*untilMonth*/,
21743  13 /*untilDay*/,
21744  0 /*untilTimeCode (0/15)*/,
21745  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21746  },
21747  // 3:30 Iran %z 1977 Oct 20 24:00
21748  {
21749  &kZonePolicyIran /*zonePolicy*/,
21750  "" /*format*/,
21751  840 /*offsetCode (12600/15)*/,
21752  0 /*offsetRemainder (12600%15)*/,
21753  0 /*deltaMinutes*/,
21754  1977 /*untilYear*/,
21755  10 /*untilMonth*/,
21756  20 /*untilDay*/,
21757  5760 /*untilTimeCode (86400/15)*/,
21758  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21759  },
21760  // 4:00 Iran %z 1979
21761  {
21762  &kZonePolicyIran /*zonePolicy*/,
21763  "" /*format*/,
21764  960 /*offsetCode (14400/15)*/,
21765  0 /*offsetRemainder (14400%15)*/,
21766  0 /*deltaMinutes*/,
21767  1979 /*untilYear*/,
21768  1 /*untilMonth*/,
21769  1 /*untilDay*/,
21770  0 /*untilTimeCode (0/15)*/,
21771  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21772  },
21773  // 3:30 Iran %z
21774  {
21775  &kZonePolicyIran /*zonePolicy*/,
21776  "" /*format*/,
21777  840 /*offsetCode (12600/15)*/,
21778  0 /*offsetRemainder (12600%15)*/,
21779  0 /*deltaMinutes*/,
21780  32767 /*untilYear*/,
21781  1 /*untilMonth*/,
21782  1 /*untilDay*/,
21783  0 /*untilTimeCode (0/15)*/,
21784  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21785  },
21786 
21787 };
21788 
21789 static const char kZoneNameAsia_Tehran[] ACE_TIME_PROGMEM = "\x05" "Tehran";
21790 
21791 const complete::ZoneInfo kZoneAsia_Tehran ACE_TIME_PROGMEM = {
21792  kZoneNameAsia_Tehran /*name*/,
21793  0xd1f02254 /*zoneId*/,
21794  &kZoneContext /*zoneContext*/,
21795  5 /*numEras*/,
21796  kZoneEraAsia_Tehran /*eras*/,
21797  nullptr /*targetInfo*/,
21798 };
21799 
21800 //---------------------------------------------------------------------------
21801 // Zone name: Asia/Thimphu
21802 // Eras: 3
21803 //---------------------------------------------------------------------------
21804 
21805 static const complete::ZoneEra kZoneEraAsia_Thimphu[] ACE_TIME_PROGMEM = {
21806  // 5:58:36 - LMT 1947 Aug 15
21807  {
21808  nullptr /*zonePolicy*/,
21809  "LMT" /*format*/,
21810  1434 /*offsetCode (21516/15)*/,
21811  6 /*offsetRemainder (21516%15)*/,
21812  0 /*deltaMinutes*/,
21813  1947 /*untilYear*/,
21814  8 /*untilMonth*/,
21815  15 /*untilDay*/,
21816  0 /*untilTimeCode (0/15)*/,
21817  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21818  },
21819  // 5:30 - %z 1987 Oct
21820  {
21821  nullptr /*zonePolicy*/,
21822  "" /*format*/,
21823  1320 /*offsetCode (19800/15)*/,
21824  0 /*offsetRemainder (19800%15)*/,
21825  0 /*deltaMinutes*/,
21826  1987 /*untilYear*/,
21827  10 /*untilMonth*/,
21828  1 /*untilDay*/,
21829  0 /*untilTimeCode (0/15)*/,
21830  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21831  },
21832  // 6:00 - %z
21833  {
21834  nullptr /*zonePolicy*/,
21835  "" /*format*/,
21836  1440 /*offsetCode (21600/15)*/,
21837  0 /*offsetRemainder (21600%15)*/,
21838  0 /*deltaMinutes*/,
21839  32767 /*untilYear*/,
21840  1 /*untilMonth*/,
21841  1 /*untilDay*/,
21842  0 /*untilTimeCode (0/15)*/,
21843  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21844  },
21845 
21846 };
21847 
21848 static const char kZoneNameAsia_Thimphu[] ACE_TIME_PROGMEM = "\x05" "Thimphu";
21849 
21850 const complete::ZoneInfo kZoneAsia_Thimphu ACE_TIME_PROGMEM = {
21851  kZoneNameAsia_Thimphu /*name*/,
21852  0x170380d1 /*zoneId*/,
21853  &kZoneContext /*zoneContext*/,
21854  3 /*numEras*/,
21855  kZoneEraAsia_Thimphu /*eras*/,
21856  nullptr /*targetInfo*/,
21857 };
21858 
21859 //---------------------------------------------------------------------------
21860 // Zone name: Asia/Tokyo
21861 // Eras: 2
21862 //---------------------------------------------------------------------------
21863 
21864 static const complete::ZoneEra kZoneEraAsia_Tokyo[] ACE_TIME_PROGMEM = {
21865  // 9:18:59 - LMT 1887 Dec 31 15:00u
21866  {
21867  nullptr /*zonePolicy*/,
21868  "LMT" /*format*/,
21869  2235 /*offsetCode (33539/15)*/,
21870  14 /*offsetRemainder (33539%15)*/,
21871  0 /*deltaMinutes*/,
21872  1887 /*untilYear*/,
21873  12 /*untilMonth*/,
21874  31 /*untilDay*/,
21875  3600 /*untilTimeCode (54000/15)*/,
21876  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
21877  },
21878  // 9:00 Japan J%sT
21879  {
21880  &kZonePolicyJapan /*zonePolicy*/,
21881  "J%T" /*format*/,
21882  2160 /*offsetCode (32400/15)*/,
21883  0 /*offsetRemainder (32400%15)*/,
21884  0 /*deltaMinutes*/,
21885  32767 /*untilYear*/,
21886  1 /*untilMonth*/,
21887  1 /*untilDay*/,
21888  0 /*untilTimeCode (0/15)*/,
21889  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21890  },
21891 
21892 };
21893 
21894 static const char kZoneNameAsia_Tokyo[] ACE_TIME_PROGMEM = "\x05" "Tokyo";
21895 
21896 const complete::ZoneInfo kZoneAsia_Tokyo ACE_TIME_PROGMEM = {
21897  kZoneNameAsia_Tokyo /*name*/,
21898  0x15e606a8 /*zoneId*/,
21899  &kZoneContext /*zoneContext*/,
21900  2 /*numEras*/,
21901  kZoneEraAsia_Tokyo /*eras*/,
21902  nullptr /*targetInfo*/,
21903 };
21904 
21905 //---------------------------------------------------------------------------
21906 // Zone name: Asia/Tomsk
21907 // Eras: 9
21908 //---------------------------------------------------------------------------
21909 
21910 static const complete::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = {
21911  // 5:39:51 - LMT 1919 Dec 22
21912  {
21913  nullptr /*zonePolicy*/,
21914  "LMT" /*format*/,
21915  1359 /*offsetCode (20391/15)*/,
21916  6 /*offsetRemainder (20391%15)*/,
21917  0 /*deltaMinutes*/,
21918  1919 /*untilYear*/,
21919  12 /*untilMonth*/,
21920  22 /*untilDay*/,
21921  0 /*untilTimeCode (0/15)*/,
21922  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21923  },
21924  // 6:00 - %z 1930 Jun 21
21925  {
21926  nullptr /*zonePolicy*/,
21927  "" /*format*/,
21928  1440 /*offsetCode (21600/15)*/,
21929  0 /*offsetRemainder (21600%15)*/,
21930  0 /*deltaMinutes*/,
21931  1930 /*untilYear*/,
21932  6 /*untilMonth*/,
21933  21 /*untilDay*/,
21934  0 /*untilTimeCode (0/15)*/,
21935  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21936  },
21937  // 7:00 Russia %z 1991 Mar 31 2:00s
21938  {
21939  &kZonePolicyRussia /*zonePolicy*/,
21940  "" /*format*/,
21941  1680 /*offsetCode (25200/15)*/,
21942  0 /*offsetRemainder (25200%15)*/,
21943  0 /*deltaMinutes*/,
21944  1991 /*untilYear*/,
21945  3 /*untilMonth*/,
21946  31 /*untilDay*/,
21947  480 /*untilTimeCode (7200/15)*/,
21948  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21949  },
21950  // 6:00 Russia %z 1992 Jan 19 2:00s
21951  {
21952  &kZonePolicyRussia /*zonePolicy*/,
21953  "" /*format*/,
21954  1440 /*offsetCode (21600/15)*/,
21955  0 /*offsetRemainder (21600%15)*/,
21956  0 /*deltaMinutes*/,
21957  1992 /*untilYear*/,
21958  1 /*untilMonth*/,
21959  19 /*untilDay*/,
21960  480 /*untilTimeCode (7200/15)*/,
21961  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21962  },
21963  // 7:00 Russia %z 2002 May 1 3:00
21964  {
21965  &kZonePolicyRussia /*zonePolicy*/,
21966  "" /*format*/,
21967  1680 /*offsetCode (25200/15)*/,
21968  0 /*offsetRemainder (25200%15)*/,
21969  0 /*deltaMinutes*/,
21970  2002 /*untilYear*/,
21971  5 /*untilMonth*/,
21972  1 /*untilDay*/,
21973  720 /*untilTimeCode (10800/15)*/,
21974  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
21975  },
21976  // 6:00 Russia %z 2011 Mar 27 2:00s
21977  {
21978  &kZonePolicyRussia /*zonePolicy*/,
21979  "" /*format*/,
21980  1440 /*offsetCode (21600/15)*/,
21981  0 /*offsetRemainder (21600%15)*/,
21982  0 /*deltaMinutes*/,
21983  2011 /*untilYear*/,
21984  3 /*untilMonth*/,
21985  27 /*untilDay*/,
21986  480 /*untilTimeCode (7200/15)*/,
21987  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
21988  },
21989  // 7:00 - %z 2014 Oct 26 2:00s
21990  {
21991  nullptr /*zonePolicy*/,
21992  "" /*format*/,
21993  1680 /*offsetCode (25200/15)*/,
21994  0 /*offsetRemainder (25200%15)*/,
21995  0 /*deltaMinutes*/,
21996  2014 /*untilYear*/,
21997  10 /*untilMonth*/,
21998  26 /*untilDay*/,
21999  480 /*untilTimeCode (7200/15)*/,
22000  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22001  },
22002  // 6:00 - %z 2016 May 29 2:00s
22003  {
22004  nullptr /*zonePolicy*/,
22005  "" /*format*/,
22006  1440 /*offsetCode (21600/15)*/,
22007  0 /*offsetRemainder (21600%15)*/,
22008  0 /*deltaMinutes*/,
22009  2016 /*untilYear*/,
22010  5 /*untilMonth*/,
22011  29 /*untilDay*/,
22012  480 /*untilTimeCode (7200/15)*/,
22013  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22014  },
22015  // 7:00 - %z
22016  {
22017  nullptr /*zonePolicy*/,
22018  "" /*format*/,
22019  1680 /*offsetCode (25200/15)*/,
22020  0 /*offsetRemainder (25200%15)*/,
22021  0 /*deltaMinutes*/,
22022  32767 /*untilYear*/,
22023  1 /*untilMonth*/,
22024  1 /*untilDay*/,
22025  0 /*untilTimeCode (0/15)*/,
22026  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22027  },
22028 
22029 };
22030 
22031 static const char kZoneNameAsia_Tomsk[] ACE_TIME_PROGMEM = "\x05" "Tomsk";
22032 
22033 const complete::ZoneInfo kZoneAsia_Tomsk ACE_TIME_PROGMEM = {
22034  kZoneNameAsia_Tomsk /*name*/,
22035  0x15e60e60 /*zoneId*/,
22036  &kZoneContext /*zoneContext*/,
22037  9 /*numEras*/,
22038  kZoneEraAsia_Tomsk /*eras*/,
22039  nullptr /*targetInfo*/,
22040 };
22041 
22042 //---------------------------------------------------------------------------
22043 // Zone name: Asia/Ulaanbaatar
22044 // Eras: 3
22045 //---------------------------------------------------------------------------
22046 
22047 static const complete::ZoneEra kZoneEraAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = {
22048  // 7:07:32 - LMT 1905 Aug
22049  {
22050  nullptr /*zonePolicy*/,
22051  "LMT" /*format*/,
22052  1710 /*offsetCode (25652/15)*/,
22053  2 /*offsetRemainder (25652%15)*/,
22054  0 /*deltaMinutes*/,
22055  1905 /*untilYear*/,
22056  8 /*untilMonth*/,
22057  1 /*untilDay*/,
22058  0 /*untilTimeCode (0/15)*/,
22059  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22060  },
22061  // 7:00 - %z 1978
22062  {
22063  nullptr /*zonePolicy*/,
22064  "" /*format*/,
22065  1680 /*offsetCode (25200/15)*/,
22066  0 /*offsetRemainder (25200%15)*/,
22067  0 /*deltaMinutes*/,
22068  1978 /*untilYear*/,
22069  1 /*untilMonth*/,
22070  1 /*untilDay*/,
22071  0 /*untilTimeCode (0/15)*/,
22072  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22073  },
22074  // 8:00 Mongol %z
22075  {
22076  &kZonePolicyMongol /*zonePolicy*/,
22077  "" /*format*/,
22078  1920 /*offsetCode (28800/15)*/,
22079  0 /*offsetRemainder (28800%15)*/,
22080  0 /*deltaMinutes*/,
22081  32767 /*untilYear*/,
22082  1 /*untilMonth*/,
22083  1 /*untilDay*/,
22084  0 /*untilTimeCode (0/15)*/,
22085  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22086  },
22087 
22088 };
22089 
22090 static const char kZoneNameAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = "\x05" "Ulaanbaatar";
22091 
22092 const complete::ZoneInfo kZoneAsia_Ulaanbaatar ACE_TIME_PROGMEM = {
22093  kZoneNameAsia_Ulaanbaatar /*name*/,
22094  0x30f0cc4e /*zoneId*/,
22095  &kZoneContext /*zoneContext*/,
22096  3 /*numEras*/,
22097  kZoneEraAsia_Ulaanbaatar /*eras*/,
22098  nullptr /*targetInfo*/,
22099 };
22100 
22101 //---------------------------------------------------------------------------
22102 // Zone name: Asia/Urumqi
22103 // Eras: 2
22104 //---------------------------------------------------------------------------
22105 
22106 static const complete::ZoneEra kZoneEraAsia_Urumqi[] ACE_TIME_PROGMEM = {
22107  // 5:50:20 - LMT 1928
22108  {
22109  nullptr /*zonePolicy*/,
22110  "LMT" /*format*/,
22111  1401 /*offsetCode (21020/15)*/,
22112  5 /*offsetRemainder (21020%15)*/,
22113  0 /*deltaMinutes*/,
22114  1928 /*untilYear*/,
22115  1 /*untilMonth*/,
22116  1 /*untilDay*/,
22117  0 /*untilTimeCode (0/15)*/,
22118  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22119  },
22120  // 6:00 - %z
22121  {
22122  nullptr /*zonePolicy*/,
22123  "" /*format*/,
22124  1440 /*offsetCode (21600/15)*/,
22125  0 /*offsetRemainder (21600%15)*/,
22126  0 /*deltaMinutes*/,
22127  32767 /*untilYear*/,
22128  1 /*untilMonth*/,
22129  1 /*untilDay*/,
22130  0 /*untilTimeCode (0/15)*/,
22131  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22132  },
22133 
22134 };
22135 
22136 static const char kZoneNameAsia_Urumqi[] ACE_TIME_PROGMEM = "\x05" "Urumqi";
22137 
22138 const complete::ZoneInfo kZoneAsia_Urumqi ACE_TIME_PROGMEM = {
22139  kZoneNameAsia_Urumqi /*name*/,
22140  0xd5379735 /*zoneId*/,
22141  &kZoneContext /*zoneContext*/,
22142  2 /*numEras*/,
22143  kZoneEraAsia_Urumqi /*eras*/,
22144  nullptr /*targetInfo*/,
22145 };
22146 
22147 //---------------------------------------------------------------------------
22148 // Zone name: Asia/Ust-Nera
22149 // Eras: 9
22150 //---------------------------------------------------------------------------
22151 
22152 static const complete::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = {
22153  // 9:32:54 - LMT 1919 Dec 15
22154  {
22155  nullptr /*zonePolicy*/,
22156  "LMT" /*format*/,
22157  2291 /*offsetCode (34374/15)*/,
22158  9 /*offsetRemainder (34374%15)*/,
22159  0 /*deltaMinutes*/,
22160  1919 /*untilYear*/,
22161  12 /*untilMonth*/,
22162  15 /*untilDay*/,
22163  0 /*untilTimeCode (0/15)*/,
22164  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22165  },
22166  // 8:00 - %z 1930 Jun 21
22167  {
22168  nullptr /*zonePolicy*/,
22169  "" /*format*/,
22170  1920 /*offsetCode (28800/15)*/,
22171  0 /*offsetRemainder (28800%15)*/,
22172  0 /*deltaMinutes*/,
22173  1930 /*untilYear*/,
22174  6 /*untilMonth*/,
22175  21 /*untilDay*/,
22176  0 /*untilTimeCode (0/15)*/,
22177  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22178  },
22179  // 9:00 Russia %z 1981 Apr 1
22180  {
22181  &kZonePolicyRussia /*zonePolicy*/,
22182  "" /*format*/,
22183  2160 /*offsetCode (32400/15)*/,
22184  0 /*offsetRemainder (32400%15)*/,
22185  0 /*deltaMinutes*/,
22186  1981 /*untilYear*/,
22187  4 /*untilMonth*/,
22188  1 /*untilDay*/,
22189  0 /*untilTimeCode (0/15)*/,
22190  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22191  },
22192  // 11:00 Russia %z 1991 Mar 31 2:00s
22193  {
22194  &kZonePolicyRussia /*zonePolicy*/,
22195  "" /*format*/,
22196  2640 /*offsetCode (39600/15)*/,
22197  0 /*offsetRemainder (39600%15)*/,
22198  0 /*deltaMinutes*/,
22199  1991 /*untilYear*/,
22200  3 /*untilMonth*/,
22201  31 /*untilDay*/,
22202  480 /*untilTimeCode (7200/15)*/,
22203  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22204  },
22205  // 10:00 Russia %z 1992 Jan 19 2:00s
22206  {
22207  &kZonePolicyRussia /*zonePolicy*/,
22208  "" /*format*/,
22209  2400 /*offsetCode (36000/15)*/,
22210  0 /*offsetRemainder (36000%15)*/,
22211  0 /*deltaMinutes*/,
22212  1992 /*untilYear*/,
22213  1 /*untilMonth*/,
22214  19 /*untilDay*/,
22215  480 /*untilTimeCode (7200/15)*/,
22216  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22217  },
22218  // 11:00 Russia %z 2011 Mar 27 2:00s
22219  {
22220  &kZonePolicyRussia /*zonePolicy*/,
22221  "" /*format*/,
22222  2640 /*offsetCode (39600/15)*/,
22223  0 /*offsetRemainder (39600%15)*/,
22224  0 /*deltaMinutes*/,
22225  2011 /*untilYear*/,
22226  3 /*untilMonth*/,
22227  27 /*untilDay*/,
22228  480 /*untilTimeCode (7200/15)*/,
22229  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22230  },
22231  // 12:00 - %z 2011 Sep 13 0:00s
22232  {
22233  nullptr /*zonePolicy*/,
22234  "" /*format*/,
22235  2880 /*offsetCode (43200/15)*/,
22236  0 /*offsetRemainder (43200%15)*/,
22237  0 /*deltaMinutes*/,
22238  2011 /*untilYear*/,
22239  9 /*untilMonth*/,
22240  13 /*untilDay*/,
22241  0 /*untilTimeCode (0/15)*/,
22242  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22243  },
22244  // 11:00 - %z 2014 Oct 26 2:00s
22245  {
22246  nullptr /*zonePolicy*/,
22247  "" /*format*/,
22248  2640 /*offsetCode (39600/15)*/,
22249  0 /*offsetRemainder (39600%15)*/,
22250  0 /*deltaMinutes*/,
22251  2014 /*untilYear*/,
22252  10 /*untilMonth*/,
22253  26 /*untilDay*/,
22254  480 /*untilTimeCode (7200/15)*/,
22255  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22256  },
22257  // 10:00 - %z
22258  {
22259  nullptr /*zonePolicy*/,
22260  "" /*format*/,
22261  2400 /*offsetCode (36000/15)*/,
22262  0 /*offsetRemainder (36000%15)*/,
22263  0 /*deltaMinutes*/,
22264  32767 /*untilYear*/,
22265  1 /*untilMonth*/,
22266  1 /*untilDay*/,
22267  0 /*untilTimeCode (0/15)*/,
22268  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22269  },
22270 
22271 };
22272 
22273 static const char kZoneNameAsia_Ust_Nera[] ACE_TIME_PROGMEM = "\x05" "Ust-Nera";
22274 
22275 const complete::ZoneInfo kZoneAsia_Ust_Nera ACE_TIME_PROGMEM = {
22276  kZoneNameAsia_Ust_Nera /*name*/,
22277  0x4785f921 /*zoneId*/,
22278  &kZoneContext /*zoneContext*/,
22279  9 /*numEras*/,
22280  kZoneEraAsia_Ust_Nera /*eras*/,
22281  nullptr /*targetInfo*/,
22282 };
22283 
22284 //---------------------------------------------------------------------------
22285 // Zone name: Asia/Vladivostok
22286 // Eras: 7
22287 //---------------------------------------------------------------------------
22288 
22289 static const complete::ZoneEra kZoneEraAsia_Vladivostok[] ACE_TIME_PROGMEM = {
22290  // 8:47:31 - LMT 1922 Nov 15
22291  {
22292  nullptr /*zonePolicy*/,
22293  "LMT" /*format*/,
22294  2110 /*offsetCode (31651/15)*/,
22295  1 /*offsetRemainder (31651%15)*/,
22296  0 /*deltaMinutes*/,
22297  1922 /*untilYear*/,
22298  11 /*untilMonth*/,
22299  15 /*untilDay*/,
22300  0 /*untilTimeCode (0/15)*/,
22301  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22302  },
22303  // 9:00 - %z 1930 Jun 21
22304  {
22305  nullptr /*zonePolicy*/,
22306  "" /*format*/,
22307  2160 /*offsetCode (32400/15)*/,
22308  0 /*offsetRemainder (32400%15)*/,
22309  0 /*deltaMinutes*/,
22310  1930 /*untilYear*/,
22311  6 /*untilMonth*/,
22312  21 /*untilDay*/,
22313  0 /*untilTimeCode (0/15)*/,
22314  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22315  },
22316  // 10:00 Russia %z 1991 Mar 31 2:00s
22317  {
22318  &kZonePolicyRussia /*zonePolicy*/,
22319  "" /*format*/,
22320  2400 /*offsetCode (36000/15)*/,
22321  0 /*offsetRemainder (36000%15)*/,
22322  0 /*deltaMinutes*/,
22323  1991 /*untilYear*/,
22324  3 /*untilMonth*/,
22325  31 /*untilDay*/,
22326  480 /*untilTimeCode (7200/15)*/,
22327  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22328  },
22329  // 9:00 Russia %z 1992 Jan 19 2:00s
22330  {
22331  &kZonePolicyRussia /*zonePolicy*/,
22332  "" /*format*/,
22333  2160 /*offsetCode (32400/15)*/,
22334  0 /*offsetRemainder (32400%15)*/,
22335  0 /*deltaMinutes*/,
22336  1992 /*untilYear*/,
22337  1 /*untilMonth*/,
22338  19 /*untilDay*/,
22339  480 /*untilTimeCode (7200/15)*/,
22340  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22341  },
22342  // 10:00 Russia %z 2011 Mar 27 2:00s
22343  {
22344  &kZonePolicyRussia /*zonePolicy*/,
22345  "" /*format*/,
22346  2400 /*offsetCode (36000/15)*/,
22347  0 /*offsetRemainder (36000%15)*/,
22348  0 /*deltaMinutes*/,
22349  2011 /*untilYear*/,
22350  3 /*untilMonth*/,
22351  27 /*untilDay*/,
22352  480 /*untilTimeCode (7200/15)*/,
22353  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22354  },
22355  // 11:00 - %z 2014 Oct 26 2:00s
22356  {
22357  nullptr /*zonePolicy*/,
22358  "" /*format*/,
22359  2640 /*offsetCode (39600/15)*/,
22360  0 /*offsetRemainder (39600%15)*/,
22361  0 /*deltaMinutes*/,
22362  2014 /*untilYear*/,
22363  10 /*untilMonth*/,
22364  26 /*untilDay*/,
22365  480 /*untilTimeCode (7200/15)*/,
22366  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22367  },
22368  // 10:00 - %z
22369  {
22370  nullptr /*zonePolicy*/,
22371  "" /*format*/,
22372  2400 /*offsetCode (36000/15)*/,
22373  0 /*offsetRemainder (36000%15)*/,
22374  0 /*deltaMinutes*/,
22375  32767 /*untilYear*/,
22376  1 /*untilMonth*/,
22377  1 /*untilDay*/,
22378  0 /*untilTimeCode (0/15)*/,
22379  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22380  },
22381 
22382 };
22383 
22384 static const char kZoneNameAsia_Vladivostok[] ACE_TIME_PROGMEM = "\x05" "Vladivostok";
22385 
22386 const complete::ZoneInfo kZoneAsia_Vladivostok ACE_TIME_PROGMEM = {
22387  kZoneNameAsia_Vladivostok /*name*/,
22388  0x29de34a8 /*zoneId*/,
22389  &kZoneContext /*zoneContext*/,
22390  7 /*numEras*/,
22391  kZoneEraAsia_Vladivostok /*eras*/,
22392  nullptr /*targetInfo*/,
22393 };
22394 
22395 //---------------------------------------------------------------------------
22396 // Zone name: Asia/Yakutsk
22397 // Eras: 7
22398 //---------------------------------------------------------------------------
22399 
22400 static const complete::ZoneEra kZoneEraAsia_Yakutsk[] ACE_TIME_PROGMEM = {
22401  // 8:38:58 - LMT 1919 Dec 15
22402  {
22403  nullptr /*zonePolicy*/,
22404  "LMT" /*format*/,
22405  2075 /*offsetCode (31138/15)*/,
22406  13 /*offsetRemainder (31138%15)*/,
22407  0 /*deltaMinutes*/,
22408  1919 /*untilYear*/,
22409  12 /*untilMonth*/,
22410  15 /*untilDay*/,
22411  0 /*untilTimeCode (0/15)*/,
22412  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22413  },
22414  // 8:00 - %z 1930 Jun 21
22415  {
22416  nullptr /*zonePolicy*/,
22417  "" /*format*/,
22418  1920 /*offsetCode (28800/15)*/,
22419  0 /*offsetRemainder (28800%15)*/,
22420  0 /*deltaMinutes*/,
22421  1930 /*untilYear*/,
22422  6 /*untilMonth*/,
22423  21 /*untilDay*/,
22424  0 /*untilTimeCode (0/15)*/,
22425  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22426  },
22427  // 9:00 Russia %z 1991 Mar 31 2:00s
22428  {
22429  &kZonePolicyRussia /*zonePolicy*/,
22430  "" /*format*/,
22431  2160 /*offsetCode (32400/15)*/,
22432  0 /*offsetRemainder (32400%15)*/,
22433  0 /*deltaMinutes*/,
22434  1991 /*untilYear*/,
22435  3 /*untilMonth*/,
22436  31 /*untilDay*/,
22437  480 /*untilTimeCode (7200/15)*/,
22438  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22439  },
22440  // 8:00 Russia %z 1992 Jan 19 2:00s
22441  {
22442  &kZonePolicyRussia /*zonePolicy*/,
22443  "" /*format*/,
22444  1920 /*offsetCode (28800/15)*/,
22445  0 /*offsetRemainder (28800%15)*/,
22446  0 /*deltaMinutes*/,
22447  1992 /*untilYear*/,
22448  1 /*untilMonth*/,
22449  19 /*untilDay*/,
22450  480 /*untilTimeCode (7200/15)*/,
22451  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22452  },
22453  // 9:00 Russia %z 2011 Mar 27 2:00s
22454  {
22455  &kZonePolicyRussia /*zonePolicy*/,
22456  "" /*format*/,
22457  2160 /*offsetCode (32400/15)*/,
22458  0 /*offsetRemainder (32400%15)*/,
22459  0 /*deltaMinutes*/,
22460  2011 /*untilYear*/,
22461  3 /*untilMonth*/,
22462  27 /*untilDay*/,
22463  480 /*untilTimeCode (7200/15)*/,
22464  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22465  },
22466  // 10:00 - %z 2014 Oct 26 2:00s
22467  {
22468  nullptr /*zonePolicy*/,
22469  "" /*format*/,
22470  2400 /*offsetCode (36000/15)*/,
22471  0 /*offsetRemainder (36000%15)*/,
22472  0 /*deltaMinutes*/,
22473  2014 /*untilYear*/,
22474  10 /*untilMonth*/,
22475  26 /*untilDay*/,
22476  480 /*untilTimeCode (7200/15)*/,
22477  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22478  },
22479  // 9:00 - %z
22480  {
22481  nullptr /*zonePolicy*/,
22482  "" /*format*/,
22483  2160 /*offsetCode (32400/15)*/,
22484  0 /*offsetRemainder (32400%15)*/,
22485  0 /*deltaMinutes*/,
22486  32767 /*untilYear*/,
22487  1 /*untilMonth*/,
22488  1 /*untilDay*/,
22489  0 /*untilTimeCode (0/15)*/,
22490  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22491  },
22492 
22493 };
22494 
22495 static const char kZoneNameAsia_Yakutsk[] ACE_TIME_PROGMEM = "\x05" "Yakutsk";
22496 
22497 const complete::ZoneInfo kZoneAsia_Yakutsk ACE_TIME_PROGMEM = {
22498  kZoneNameAsia_Yakutsk /*name*/,
22499  0x87bb3a9e /*zoneId*/,
22500  &kZoneContext /*zoneContext*/,
22501  7 /*numEras*/,
22502  kZoneEraAsia_Yakutsk /*eras*/,
22503  nullptr /*targetInfo*/,
22504 };
22505 
22506 //---------------------------------------------------------------------------
22507 // Zone name: Asia/Yangon
22508 // Eras: 5
22509 //---------------------------------------------------------------------------
22510 
22511 static const complete::ZoneEra kZoneEraAsia_Yangon[] ACE_TIME_PROGMEM = {
22512  // 6:24:47 - LMT 1880
22513  {
22514  nullptr /*zonePolicy*/,
22515  "LMT" /*format*/,
22516  1539 /*offsetCode (23087/15)*/,
22517  2 /*offsetRemainder (23087%15)*/,
22518  0 /*deltaMinutes*/,
22519  1880 /*untilYear*/,
22520  1 /*untilMonth*/,
22521  1 /*untilDay*/,
22522  0 /*untilTimeCode (0/15)*/,
22523  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22524  },
22525  // 6:24:47 - RMT 1920
22526  {
22527  nullptr /*zonePolicy*/,
22528  "RMT" /*format*/,
22529  1539 /*offsetCode (23087/15)*/,
22530  2 /*offsetRemainder (23087%15)*/,
22531  0 /*deltaMinutes*/,
22532  1920 /*untilYear*/,
22533  1 /*untilMonth*/,
22534  1 /*untilDay*/,
22535  0 /*untilTimeCode (0/15)*/,
22536  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22537  },
22538  // 6:30 - %z 1942 May
22539  {
22540  nullptr /*zonePolicy*/,
22541  "" /*format*/,
22542  1560 /*offsetCode (23400/15)*/,
22543  0 /*offsetRemainder (23400%15)*/,
22544  0 /*deltaMinutes*/,
22545  1942 /*untilYear*/,
22546  5 /*untilMonth*/,
22547  1 /*untilDay*/,
22548  0 /*untilTimeCode (0/15)*/,
22549  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22550  },
22551  // 9:00 - %z 1945 May 3
22552  {
22553  nullptr /*zonePolicy*/,
22554  "" /*format*/,
22555  2160 /*offsetCode (32400/15)*/,
22556  0 /*offsetRemainder (32400%15)*/,
22557  0 /*deltaMinutes*/,
22558  1945 /*untilYear*/,
22559  5 /*untilMonth*/,
22560  3 /*untilDay*/,
22561  0 /*untilTimeCode (0/15)*/,
22562  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22563  },
22564  // 6:30 - %z
22565  {
22566  nullptr /*zonePolicy*/,
22567  "" /*format*/,
22568  1560 /*offsetCode (23400/15)*/,
22569  0 /*offsetRemainder (23400%15)*/,
22570  0 /*deltaMinutes*/,
22571  32767 /*untilYear*/,
22572  1 /*untilMonth*/,
22573  1 /*untilDay*/,
22574  0 /*untilTimeCode (0/15)*/,
22575  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22576  },
22577 
22578 };
22579 
22580 static const char kZoneNameAsia_Yangon[] ACE_TIME_PROGMEM = "\x05" "Yangon";
22581 
22582 const complete::ZoneInfo kZoneAsia_Yangon ACE_TIME_PROGMEM = {
22583  kZoneNameAsia_Yangon /*name*/,
22584  0xdd54a8be /*zoneId*/,
22585  &kZoneContext /*zoneContext*/,
22586  5 /*numEras*/,
22587  kZoneEraAsia_Yangon /*eras*/,
22588  nullptr /*targetInfo*/,
22589 };
22590 
22591 //---------------------------------------------------------------------------
22592 // Zone name: Asia/Yekaterinburg
22593 // Eras: 8
22594 //---------------------------------------------------------------------------
22595 
22596 static const complete::ZoneEra kZoneEraAsia_Yekaterinburg[] ACE_TIME_PROGMEM = {
22597  // 4:02:33 - LMT 1916 Jul 3
22598  {
22599  nullptr /*zonePolicy*/,
22600  "LMT" /*format*/,
22601  970 /*offsetCode (14553/15)*/,
22602  3 /*offsetRemainder (14553%15)*/,
22603  0 /*deltaMinutes*/,
22604  1916 /*untilYear*/,
22605  7 /*untilMonth*/,
22606  3 /*untilDay*/,
22607  0 /*untilTimeCode (0/15)*/,
22608  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22609  },
22610  // 3:45:05 - PMT 1919 Jul 15 4:00
22611  {
22612  nullptr /*zonePolicy*/,
22613  "PMT" /*format*/,
22614  900 /*offsetCode (13505/15)*/,
22615  5 /*offsetRemainder (13505%15)*/,
22616  0 /*deltaMinutes*/,
22617  1919 /*untilYear*/,
22618  7 /*untilMonth*/,
22619  15 /*untilDay*/,
22620  960 /*untilTimeCode (14400/15)*/,
22621  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22622  },
22623  // 4:00 - %z 1930 Jun 21
22624  {
22625  nullptr /*zonePolicy*/,
22626  "" /*format*/,
22627  960 /*offsetCode (14400/15)*/,
22628  0 /*offsetRemainder (14400%15)*/,
22629  0 /*deltaMinutes*/,
22630  1930 /*untilYear*/,
22631  6 /*untilMonth*/,
22632  21 /*untilDay*/,
22633  0 /*untilTimeCode (0/15)*/,
22634  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22635  },
22636  // 5:00 Russia %z 1991 Mar 31 2:00s
22637  {
22638  &kZonePolicyRussia /*zonePolicy*/,
22639  "" /*format*/,
22640  1200 /*offsetCode (18000/15)*/,
22641  0 /*offsetRemainder (18000%15)*/,
22642  0 /*deltaMinutes*/,
22643  1991 /*untilYear*/,
22644  3 /*untilMonth*/,
22645  31 /*untilDay*/,
22646  480 /*untilTimeCode (7200/15)*/,
22647  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22648  },
22649  // 4:00 Russia %z 1992 Jan 19 2:00s
22650  {
22651  &kZonePolicyRussia /*zonePolicy*/,
22652  "" /*format*/,
22653  960 /*offsetCode (14400/15)*/,
22654  0 /*offsetRemainder (14400%15)*/,
22655  0 /*deltaMinutes*/,
22656  1992 /*untilYear*/,
22657  1 /*untilMonth*/,
22658  19 /*untilDay*/,
22659  480 /*untilTimeCode (7200/15)*/,
22660  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22661  },
22662  // 5:00 Russia %z 2011 Mar 27 2:00s
22663  {
22664  &kZonePolicyRussia /*zonePolicy*/,
22665  "" /*format*/,
22666  1200 /*offsetCode (18000/15)*/,
22667  0 /*offsetRemainder (18000%15)*/,
22668  0 /*deltaMinutes*/,
22669  2011 /*untilYear*/,
22670  3 /*untilMonth*/,
22671  27 /*untilDay*/,
22672  480 /*untilTimeCode (7200/15)*/,
22673  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22674  },
22675  // 6:00 - %z 2014 Oct 26 2:00s
22676  {
22677  nullptr /*zonePolicy*/,
22678  "" /*format*/,
22679  1440 /*offsetCode (21600/15)*/,
22680  0 /*offsetRemainder (21600%15)*/,
22681  0 /*deltaMinutes*/,
22682  2014 /*untilYear*/,
22683  10 /*untilMonth*/,
22684  26 /*untilDay*/,
22685  480 /*untilTimeCode (7200/15)*/,
22686  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22687  },
22688  // 5:00 - %z
22689  {
22690  nullptr /*zonePolicy*/,
22691  "" /*format*/,
22692  1200 /*offsetCode (18000/15)*/,
22693  0 /*offsetRemainder (18000%15)*/,
22694  0 /*deltaMinutes*/,
22695  32767 /*untilYear*/,
22696  1 /*untilMonth*/,
22697  1 /*untilDay*/,
22698  0 /*untilTimeCode (0/15)*/,
22699  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22700  },
22701 
22702 };
22703 
22704 static const char kZoneNameAsia_Yekaterinburg[] ACE_TIME_PROGMEM = "\x05" "Yekaterinburg";
22705 
22706 const complete::ZoneInfo kZoneAsia_Yekaterinburg ACE_TIME_PROGMEM = {
22707  kZoneNameAsia_Yekaterinburg /*name*/,
22708  0xfb544c6e /*zoneId*/,
22709  &kZoneContext /*zoneContext*/,
22710  8 /*numEras*/,
22711  kZoneEraAsia_Yekaterinburg /*eras*/,
22712  nullptr /*targetInfo*/,
22713 };
22714 
22715 //---------------------------------------------------------------------------
22716 // Zone name: Asia/Yerevan
22717 // Eras: 7
22718 //---------------------------------------------------------------------------
22719 
22720 static const complete::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = {
22721  // 2:58:00 - LMT 1924 May 2
22722  {
22723  nullptr /*zonePolicy*/,
22724  "LMT" /*format*/,
22725  712 /*offsetCode (10680/15)*/,
22726  0 /*offsetRemainder (10680%15)*/,
22727  0 /*deltaMinutes*/,
22728  1924 /*untilYear*/,
22729  5 /*untilMonth*/,
22730  2 /*untilDay*/,
22731  0 /*untilTimeCode (0/15)*/,
22732  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22733  },
22734  // 3:00 - %z 1957 Mar
22735  {
22736  nullptr /*zonePolicy*/,
22737  "" /*format*/,
22738  720 /*offsetCode (10800/15)*/,
22739  0 /*offsetRemainder (10800%15)*/,
22740  0 /*deltaMinutes*/,
22741  1957 /*untilYear*/,
22742  3 /*untilMonth*/,
22743  1 /*untilDay*/,
22744  0 /*untilTimeCode (0/15)*/,
22745  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22746  },
22747  // 4:00 RussiaAsia %z 1991 Mar 31 2:00s
22748  {
22749  &kZonePolicyRussiaAsia /*zonePolicy*/,
22750  "" /*format*/,
22751  960 /*offsetCode (14400/15)*/,
22752  0 /*offsetRemainder (14400%15)*/,
22753  0 /*deltaMinutes*/,
22754  1991 /*untilYear*/,
22755  3 /*untilMonth*/,
22756  31 /*untilDay*/,
22757  480 /*untilTimeCode (7200/15)*/,
22758  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22759  },
22760  // 3:00 RussiaAsia %z 1995 Sep 24 2:00s
22761  {
22762  &kZonePolicyRussiaAsia /*zonePolicy*/,
22763  "" /*format*/,
22764  720 /*offsetCode (10800/15)*/,
22765  0 /*offsetRemainder (10800%15)*/,
22766  0 /*deltaMinutes*/,
22767  1995 /*untilYear*/,
22768  9 /*untilMonth*/,
22769  24 /*untilDay*/,
22770  480 /*untilTimeCode (7200/15)*/,
22771  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22772  },
22773  // 4:00 - %z 1997
22774  {
22775  nullptr /*zonePolicy*/,
22776  "" /*format*/,
22777  960 /*offsetCode (14400/15)*/,
22778  0 /*offsetRemainder (14400%15)*/,
22779  0 /*deltaMinutes*/,
22780  1997 /*untilYear*/,
22781  1 /*untilMonth*/,
22782  1 /*untilDay*/,
22783  0 /*untilTimeCode (0/15)*/,
22784  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22785  },
22786  // 4:00 RussiaAsia %z 2011
22787  {
22788  &kZonePolicyRussiaAsia /*zonePolicy*/,
22789  "" /*format*/,
22790  960 /*offsetCode (14400/15)*/,
22791  0 /*offsetRemainder (14400%15)*/,
22792  0 /*deltaMinutes*/,
22793  2011 /*untilYear*/,
22794  1 /*untilMonth*/,
22795  1 /*untilDay*/,
22796  0 /*untilTimeCode (0/15)*/,
22797  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22798  },
22799  // 4:00 Armenia %z
22800  {
22801  &kZonePolicyArmenia /*zonePolicy*/,
22802  "" /*format*/,
22803  960 /*offsetCode (14400/15)*/,
22804  0 /*offsetRemainder (14400%15)*/,
22805  0 /*deltaMinutes*/,
22806  32767 /*untilYear*/,
22807  1 /*untilMonth*/,
22808  1 /*untilDay*/,
22809  0 /*untilTimeCode (0/15)*/,
22810  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22811  },
22812 
22813 };
22814 
22815 static const char kZoneNameAsia_Yerevan[] ACE_TIME_PROGMEM = "\x05" "Yerevan";
22816 
22817 const complete::ZoneInfo kZoneAsia_Yerevan ACE_TIME_PROGMEM = {
22818  kZoneNameAsia_Yerevan /*name*/,
22819  0x9185c8cc /*zoneId*/,
22820  &kZoneContext /*zoneContext*/,
22821  7 /*numEras*/,
22822  kZoneEraAsia_Yerevan /*eras*/,
22823  nullptr /*targetInfo*/,
22824 };
22825 
22826 //---------------------------------------------------------------------------
22827 // Zone name: Atlantic/Azores
22828 // Eras: 8
22829 //---------------------------------------------------------------------------
22830 
22831 static const complete::ZoneEra kZoneEraAtlantic_Azores[] ACE_TIME_PROGMEM = {
22832  // -1:42:40 - LMT 1884
22833  {
22834  nullptr /*zonePolicy*/,
22835  "LMT" /*format*/,
22836  -411 /*offsetCode (-6160/15)*/,
22837  5 /*offsetRemainder (-6160%15)*/,
22838  0 /*deltaMinutes*/,
22839  1884 /*untilYear*/,
22840  1 /*untilMonth*/,
22841  1 /*untilDay*/,
22842  0 /*untilTimeCode (0/15)*/,
22843  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22844  },
22845  // -1:54:32 - HMT 1912 Jan 1 2:00u
22846  {
22847  nullptr /*zonePolicy*/,
22848  "HMT" /*format*/,
22849  -459 /*offsetCode (-6872/15)*/,
22850  13 /*offsetRemainder (-6872%15)*/,
22851  0 /*deltaMinutes*/,
22852  1912 /*untilYear*/,
22853  1 /*untilMonth*/,
22854  1 /*untilDay*/,
22855  480 /*untilTimeCode (7200/15)*/,
22856  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
22857  },
22858  // -2:00 Port %z 1966 Oct 2 2:00s
22859  {
22860  &kZonePolicyPort /*zonePolicy*/,
22861  "" /*format*/,
22862  -480 /*offsetCode (-7200/15)*/,
22863  0 /*offsetRemainder (-7200%15)*/,
22864  0 /*deltaMinutes*/,
22865  1966 /*untilYear*/,
22866  10 /*untilMonth*/,
22867  2 /*untilDay*/,
22868  480 /*untilTimeCode (7200/15)*/,
22869  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22870  },
22871  // -1:00 - %z 1982 Mar 28 0:00s
22872  {
22873  nullptr /*zonePolicy*/,
22874  "" /*format*/,
22875  -240 /*offsetCode (-3600/15)*/,
22876  0 /*offsetRemainder (-3600%15)*/,
22877  0 /*deltaMinutes*/,
22878  1982 /*untilYear*/,
22879  3 /*untilMonth*/,
22880  28 /*untilDay*/,
22881  0 /*untilTimeCode (0/15)*/,
22882  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22883  },
22884  // -1:00 Port %z 1986
22885  {
22886  &kZonePolicyPort /*zonePolicy*/,
22887  "" /*format*/,
22888  -240 /*offsetCode (-3600/15)*/,
22889  0 /*offsetRemainder (-3600%15)*/,
22890  0 /*deltaMinutes*/,
22891  1986 /*untilYear*/,
22892  1 /*untilMonth*/,
22893  1 /*untilDay*/,
22894  0 /*untilTimeCode (0/15)*/,
22895  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22896  },
22897  // -1:00 EU %z 1992 Dec 27 1:00s
22898  {
22899  &kZonePolicyEU /*zonePolicy*/,
22900  "" /*format*/,
22901  -240 /*offsetCode (-3600/15)*/,
22902  0 /*offsetRemainder (-3600%15)*/,
22903  0 /*deltaMinutes*/,
22904  1992 /*untilYear*/,
22905  12 /*untilMonth*/,
22906  27 /*untilDay*/,
22907  240 /*untilTimeCode (3600/15)*/,
22908  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
22909  },
22910  // 0:00 EU WE%sT 1993 Jun 17 1:00u
22911  {
22912  &kZonePolicyEU /*zonePolicy*/,
22913  "WE%T" /*format*/,
22914  0 /*offsetCode (0/15)*/,
22915  0 /*offsetRemainder (0%15)*/,
22916  0 /*deltaMinutes*/,
22917  1993 /*untilYear*/,
22918  6 /*untilMonth*/,
22919  17 /*untilDay*/,
22920  240 /*untilTimeCode (3600/15)*/,
22921  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
22922  },
22923  // -1:00 EU %z
22924  {
22925  &kZonePolicyEU /*zonePolicy*/,
22926  "" /*format*/,
22927  -240 /*offsetCode (-3600/15)*/,
22928  0 /*offsetRemainder (-3600%15)*/,
22929  0 /*deltaMinutes*/,
22930  32767 /*untilYear*/,
22931  1 /*untilMonth*/,
22932  1 /*untilDay*/,
22933  0 /*untilTimeCode (0/15)*/,
22934  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22935  },
22936 
22937 };
22938 
22939 static const char kZoneNameAtlantic_Azores[] ACE_TIME_PROGMEM = "\x06" "Azores";
22940 
22941 const complete::ZoneInfo kZoneAtlantic_Azores ACE_TIME_PROGMEM = {
22942  kZoneNameAtlantic_Azores /*name*/,
22943  0xf93ed918 /*zoneId*/,
22944  &kZoneContext /*zoneContext*/,
22945  8 /*numEras*/,
22946  kZoneEraAtlantic_Azores /*eras*/,
22947  nullptr /*targetInfo*/,
22948 };
22949 
22950 //---------------------------------------------------------------------------
22951 // Zone name: Atlantic/Bermuda
22952 // Eras: 5
22953 //---------------------------------------------------------------------------
22954 
22955 static const complete::ZoneEra kZoneEraAtlantic_Bermuda[] ACE_TIME_PROGMEM = {
22956  // -4:19:18 - LMT 1890
22957  {
22958  nullptr /*zonePolicy*/,
22959  "LMT" /*format*/,
22960  -1038 /*offsetCode (-15558/15)*/,
22961  12 /*offsetRemainder (-15558%15)*/,
22962  0 /*deltaMinutes*/,
22963  1890 /*untilYear*/,
22964  1 /*untilMonth*/,
22965  1 /*untilDay*/,
22966  0 /*untilTimeCode (0/15)*/,
22967  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22968  },
22969  // -4:19:18 Bermuda BMT/BST 1930 Jan 1 2:00
22970  {
22971  &kZonePolicyBermuda /*zonePolicy*/,
22972  "BMT/BST" /*format*/,
22973  -1038 /*offsetCode (-15558/15)*/,
22974  12 /*offsetRemainder (-15558%15)*/,
22975  0 /*deltaMinutes*/,
22976  1930 /*untilYear*/,
22977  1 /*untilMonth*/,
22978  1 /*untilDay*/,
22979  480 /*untilTimeCode (7200/15)*/,
22980  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22981  },
22982  // -4:00 Bermuda A%sT 1974 Apr 28 2:00
22983  {
22984  &kZonePolicyBermuda /*zonePolicy*/,
22985  "A%T" /*format*/,
22986  -960 /*offsetCode (-14400/15)*/,
22987  0 /*offsetRemainder (-14400%15)*/,
22988  0 /*deltaMinutes*/,
22989  1974 /*untilYear*/,
22990  4 /*untilMonth*/,
22991  28 /*untilDay*/,
22992  480 /*untilTimeCode (7200/15)*/,
22993  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
22994  },
22995  // -4:00 Canada A%sT 1976
22996  {
22997  &kZonePolicyCanada /*zonePolicy*/,
22998  "A%T" /*format*/,
22999  -960 /*offsetCode (-14400/15)*/,
23000  0 /*offsetRemainder (-14400%15)*/,
23001  0 /*deltaMinutes*/,
23002  1976 /*untilYear*/,
23003  1 /*untilMonth*/,
23004  1 /*untilDay*/,
23005  0 /*untilTimeCode (0/15)*/,
23006  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23007  },
23008  // -4:00 US A%sT
23009  {
23010  &kZonePolicyUS /*zonePolicy*/,
23011  "A%T" /*format*/,
23012  -960 /*offsetCode (-14400/15)*/,
23013  0 /*offsetRemainder (-14400%15)*/,
23014  0 /*deltaMinutes*/,
23015  32767 /*untilYear*/,
23016  1 /*untilMonth*/,
23017  1 /*untilDay*/,
23018  0 /*untilTimeCode (0/15)*/,
23019  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23020  },
23021 
23022 };
23023 
23024 static const char kZoneNameAtlantic_Bermuda[] ACE_TIME_PROGMEM = "\x06" "Bermuda";
23025 
23026 const complete::ZoneInfo kZoneAtlantic_Bermuda ACE_TIME_PROGMEM = {
23027  kZoneNameAtlantic_Bermuda /*name*/,
23028  0x3d4bb1c4 /*zoneId*/,
23029  &kZoneContext /*zoneContext*/,
23030  5 /*numEras*/,
23031  kZoneEraAtlantic_Bermuda /*eras*/,
23032  nullptr /*targetInfo*/,
23033 };
23034 
23035 //---------------------------------------------------------------------------
23036 // Zone name: Atlantic/Canary
23037 // Eras: 5
23038 //---------------------------------------------------------------------------
23039 
23040 static const complete::ZoneEra kZoneEraAtlantic_Canary[] ACE_TIME_PROGMEM = {
23041  // -1:01:36 - LMT 1922 Mar
23042  {
23043  nullptr /*zonePolicy*/,
23044  "LMT" /*format*/,
23045  -247 /*offsetCode (-3696/15)*/,
23046  9 /*offsetRemainder (-3696%15)*/,
23047  0 /*deltaMinutes*/,
23048  1922 /*untilYear*/,
23049  3 /*untilMonth*/,
23050  1 /*untilDay*/,
23051  0 /*untilTimeCode (0/15)*/,
23052  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23053  },
23054  // -1:00 - %z 1946 Sep 30 1:00
23055  {
23056  nullptr /*zonePolicy*/,
23057  "" /*format*/,
23058  -240 /*offsetCode (-3600/15)*/,
23059  0 /*offsetRemainder (-3600%15)*/,
23060  0 /*deltaMinutes*/,
23061  1946 /*untilYear*/,
23062  9 /*untilMonth*/,
23063  30 /*untilDay*/,
23064  240 /*untilTimeCode (3600/15)*/,
23065  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23066  },
23067  // 0:00 - WET 1980 Apr 6 0:00s
23068  {
23069  nullptr /*zonePolicy*/,
23070  "WET" /*format*/,
23071  0 /*offsetCode (0/15)*/,
23072  0 /*offsetRemainder (0%15)*/,
23073  0 /*deltaMinutes*/,
23074  1980 /*untilYear*/,
23075  4 /*untilMonth*/,
23076  6 /*untilDay*/,
23077  0 /*untilTimeCode (0/15)*/,
23078  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
23079  },
23080  // 0:00 1:00 WEST 1980 Sep 28 1:00u
23081  {
23082  nullptr /*zonePolicy*/,
23083  "WEST" /*format*/,
23084  0 /*offsetCode (0/15)*/,
23085  0 /*offsetRemainder (0%15)*/,
23086  60 /*deltaMinutes*/,
23087  1980 /*untilYear*/,
23088  9 /*untilMonth*/,
23089  28 /*untilDay*/,
23090  240 /*untilTimeCode (3600/15)*/,
23091  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
23092  },
23093  // 0:00 EU WE%sT
23094  {
23095  &kZonePolicyEU /*zonePolicy*/,
23096  "WE%T" /*format*/,
23097  0 /*offsetCode (0/15)*/,
23098  0 /*offsetRemainder (0%15)*/,
23099  0 /*deltaMinutes*/,
23100  32767 /*untilYear*/,
23101  1 /*untilMonth*/,
23102  1 /*untilDay*/,
23103  0 /*untilTimeCode (0/15)*/,
23104  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23105  },
23106 
23107 };
23108 
23109 static const char kZoneNameAtlantic_Canary[] ACE_TIME_PROGMEM = "\x06" "Canary";
23110 
23111 const complete::ZoneInfo kZoneAtlantic_Canary ACE_TIME_PROGMEM = {
23112  kZoneNameAtlantic_Canary /*name*/,
23113  0xfc23f2c2 /*zoneId*/,
23114  &kZoneContext /*zoneContext*/,
23115  5 /*numEras*/,
23116  kZoneEraAtlantic_Canary /*eras*/,
23117  nullptr /*targetInfo*/,
23118 };
23119 
23120 //---------------------------------------------------------------------------
23121 // Zone name: Atlantic/Cape_Verde
23122 // Eras: 5
23123 //---------------------------------------------------------------------------
23124 
23125 static const complete::ZoneEra kZoneEraAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = {
23126  // -1:34:04 - LMT 1912 Jan 01 2:00u
23127  {
23128  nullptr /*zonePolicy*/,
23129  "LMT" /*format*/,
23130  -377 /*offsetCode (-5644/15)*/,
23131  11 /*offsetRemainder (-5644%15)*/,
23132  0 /*deltaMinutes*/,
23133  1912 /*untilYear*/,
23134  1 /*untilMonth*/,
23135  1 /*untilDay*/,
23136  480 /*untilTimeCode (7200/15)*/,
23137  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
23138  },
23139  // -2:00 - %z 1942 Sep
23140  {
23141  nullptr /*zonePolicy*/,
23142  "" /*format*/,
23143  -480 /*offsetCode (-7200/15)*/,
23144  0 /*offsetRemainder (-7200%15)*/,
23145  0 /*deltaMinutes*/,
23146  1942 /*untilYear*/,
23147  9 /*untilMonth*/,
23148  1 /*untilDay*/,
23149  0 /*untilTimeCode (0/15)*/,
23150  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23151  },
23152  // -2:00 1:00 %z 1945 Oct 15
23153  {
23154  nullptr /*zonePolicy*/,
23155  "" /*format*/,
23156  -480 /*offsetCode (-7200/15)*/,
23157  0 /*offsetRemainder (-7200%15)*/,
23158  60 /*deltaMinutes*/,
23159  1945 /*untilYear*/,
23160  10 /*untilMonth*/,
23161  15 /*untilDay*/,
23162  0 /*untilTimeCode (0/15)*/,
23163  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23164  },
23165  // -2:00 - %z 1975 Nov 25 2:00
23166  {
23167  nullptr /*zonePolicy*/,
23168  "" /*format*/,
23169  -480 /*offsetCode (-7200/15)*/,
23170  0 /*offsetRemainder (-7200%15)*/,
23171  0 /*deltaMinutes*/,
23172  1975 /*untilYear*/,
23173  11 /*untilMonth*/,
23174  25 /*untilDay*/,
23175  480 /*untilTimeCode (7200/15)*/,
23176  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23177  },
23178  // -1:00 - %z
23179  {
23180  nullptr /*zonePolicy*/,
23181  "" /*format*/,
23182  -240 /*offsetCode (-3600/15)*/,
23183  0 /*offsetRemainder (-3600%15)*/,
23184  0 /*deltaMinutes*/,
23185  32767 /*untilYear*/,
23186  1 /*untilMonth*/,
23187  1 /*untilDay*/,
23188  0 /*untilTimeCode (0/15)*/,
23189  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23190  },
23191 
23192 };
23193 
23194 static const char kZoneNameAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = "\x06" "Cape_Verde";
23195 
23196 const complete::ZoneInfo kZoneAtlantic_Cape_Verde ACE_TIME_PROGMEM = {
23197  kZoneNameAtlantic_Cape_Verde /*name*/,
23198  0x5c5e1772 /*zoneId*/,
23199  &kZoneContext /*zoneContext*/,
23200  5 /*numEras*/,
23201  kZoneEraAtlantic_Cape_Verde /*eras*/,
23202  nullptr /*targetInfo*/,
23203 };
23204 
23205 //---------------------------------------------------------------------------
23206 // Zone name: Atlantic/Faroe
23207 // Eras: 3
23208 //---------------------------------------------------------------------------
23209 
23210 static const complete::ZoneEra kZoneEraAtlantic_Faroe[] ACE_TIME_PROGMEM = {
23211  // -0:27:04 - LMT 1908 Jan 11
23212  {
23213  nullptr /*zonePolicy*/,
23214  "LMT" /*format*/,
23215  -109 /*offsetCode (-1624/15)*/,
23216  11 /*offsetRemainder (-1624%15)*/,
23217  0 /*deltaMinutes*/,
23218  1908 /*untilYear*/,
23219  1 /*untilMonth*/,
23220  11 /*untilDay*/,
23221  0 /*untilTimeCode (0/15)*/,
23222  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23223  },
23224  // 0:00 - WET 1981
23225  {
23226  nullptr /*zonePolicy*/,
23227  "WET" /*format*/,
23228  0 /*offsetCode (0/15)*/,
23229  0 /*offsetRemainder (0%15)*/,
23230  0 /*deltaMinutes*/,
23231  1981 /*untilYear*/,
23232  1 /*untilMonth*/,
23233  1 /*untilDay*/,
23234  0 /*untilTimeCode (0/15)*/,
23235  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23236  },
23237  // 0:00 EU WE%sT
23238  {
23239  &kZonePolicyEU /*zonePolicy*/,
23240  "WE%T" /*format*/,
23241  0 /*offsetCode (0/15)*/,
23242  0 /*offsetRemainder (0%15)*/,
23243  0 /*deltaMinutes*/,
23244  32767 /*untilYear*/,
23245  1 /*untilMonth*/,
23246  1 /*untilDay*/,
23247  0 /*untilTimeCode (0/15)*/,
23248  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23249  },
23250 
23251 };
23252 
23253 static const char kZoneNameAtlantic_Faroe[] ACE_TIME_PROGMEM = "\x06" "Faroe";
23254 
23255 const complete::ZoneInfo kZoneAtlantic_Faroe ACE_TIME_PROGMEM = {
23256  kZoneNameAtlantic_Faroe /*name*/,
23257  0xe110a971 /*zoneId*/,
23258  &kZoneContext /*zoneContext*/,
23259  3 /*numEras*/,
23260  kZoneEraAtlantic_Faroe /*eras*/,
23261  nullptr /*targetInfo*/,
23262 };
23263 
23264 //---------------------------------------------------------------------------
23265 // Zone name: Atlantic/Madeira
23266 // Eras: 6
23267 //---------------------------------------------------------------------------
23268 
23269 static const complete::ZoneEra kZoneEraAtlantic_Madeira[] ACE_TIME_PROGMEM = {
23270  // -1:07:36 - LMT 1884
23271  {
23272  nullptr /*zonePolicy*/,
23273  "LMT" /*format*/,
23274  -271 /*offsetCode (-4056/15)*/,
23275  9 /*offsetRemainder (-4056%15)*/,
23276  0 /*deltaMinutes*/,
23277  1884 /*untilYear*/,
23278  1 /*untilMonth*/,
23279  1 /*untilDay*/,
23280  0 /*untilTimeCode (0/15)*/,
23281  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23282  },
23283  // -1:07:36 - FMT 1912 Jan 1 1:00u
23284  {
23285  nullptr /*zonePolicy*/,
23286  "FMT" /*format*/,
23287  -271 /*offsetCode (-4056/15)*/,
23288  9 /*offsetRemainder (-4056%15)*/,
23289  0 /*deltaMinutes*/,
23290  1912 /*untilYear*/,
23291  1 /*untilMonth*/,
23292  1 /*untilDay*/,
23293  240 /*untilTimeCode (3600/15)*/,
23294  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
23295  },
23296  // -1:00 Port %z 1966 Oct 2 2:00s
23297  {
23298  &kZonePolicyPort /*zonePolicy*/,
23299  "" /*format*/,
23300  -240 /*offsetCode (-3600/15)*/,
23301  0 /*offsetRemainder (-3600%15)*/,
23302  0 /*deltaMinutes*/,
23303  1966 /*untilYear*/,
23304  10 /*untilMonth*/,
23305  2 /*untilDay*/,
23306  480 /*untilTimeCode (7200/15)*/,
23307  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
23308  },
23309  // 0:00 - WET 1982 Apr 4
23310  {
23311  nullptr /*zonePolicy*/,
23312  "WET" /*format*/,
23313  0 /*offsetCode (0/15)*/,
23314  0 /*offsetRemainder (0%15)*/,
23315  0 /*deltaMinutes*/,
23316  1982 /*untilYear*/,
23317  4 /*untilMonth*/,
23318  4 /*untilDay*/,
23319  0 /*untilTimeCode (0/15)*/,
23320  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23321  },
23322  // 0:00 Port WE%sT 1986 Jul 31
23323  {
23324  &kZonePolicyPort /*zonePolicy*/,
23325  "WE%T" /*format*/,
23326  0 /*offsetCode (0/15)*/,
23327  0 /*offsetRemainder (0%15)*/,
23328  0 /*deltaMinutes*/,
23329  1986 /*untilYear*/,
23330  7 /*untilMonth*/,
23331  31 /*untilDay*/,
23332  0 /*untilTimeCode (0/15)*/,
23333  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23334  },
23335  // 0:00 EU WE%sT
23336  {
23337  &kZonePolicyEU /*zonePolicy*/,
23338  "WE%T" /*format*/,
23339  0 /*offsetCode (0/15)*/,
23340  0 /*offsetRemainder (0%15)*/,
23341  0 /*deltaMinutes*/,
23342  32767 /*untilYear*/,
23343  1 /*untilMonth*/,
23344  1 /*untilDay*/,
23345  0 /*untilTimeCode (0/15)*/,
23346  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23347  },
23348 
23349 };
23350 
23351 static const char kZoneNameAtlantic_Madeira[] ACE_TIME_PROGMEM = "\x06" "Madeira";
23352 
23353 const complete::ZoneInfo kZoneAtlantic_Madeira ACE_TIME_PROGMEM = {
23354  kZoneNameAtlantic_Madeira /*name*/,
23355  0x81b5c037 /*zoneId*/,
23356  &kZoneContext /*zoneContext*/,
23357  6 /*numEras*/,
23358  kZoneEraAtlantic_Madeira /*eras*/,
23359  nullptr /*targetInfo*/,
23360 };
23361 
23362 //---------------------------------------------------------------------------
23363 // Zone name: Atlantic/South_Georgia
23364 // Eras: 2
23365 //---------------------------------------------------------------------------
23366 
23367 static const complete::ZoneEra kZoneEraAtlantic_South_Georgia[] ACE_TIME_PROGMEM = {
23368  // -2:26:08 - LMT 1890
23369  {
23370  nullptr /*zonePolicy*/,
23371  "LMT" /*format*/,
23372  -585 /*offsetCode (-8768/15)*/,
23373  7 /*offsetRemainder (-8768%15)*/,
23374  0 /*deltaMinutes*/,
23375  1890 /*untilYear*/,
23376  1 /*untilMonth*/,
23377  1 /*untilDay*/,
23378  0 /*untilTimeCode (0/15)*/,
23379  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23380  },
23381  // -2:00 - %z
23382  {
23383  nullptr /*zonePolicy*/,
23384  "" /*format*/,
23385  -480 /*offsetCode (-7200/15)*/,
23386  0 /*offsetRemainder (-7200%15)*/,
23387  0 /*deltaMinutes*/,
23388  32767 /*untilYear*/,
23389  1 /*untilMonth*/,
23390  1 /*untilDay*/,
23391  0 /*untilTimeCode (0/15)*/,
23392  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23393  },
23394 
23395 };
23396 
23397 static const char kZoneNameAtlantic_South_Georgia[] ACE_TIME_PROGMEM = "\x06" "South_Georgia";
23398 
23399 const complete::ZoneInfo kZoneAtlantic_South_Georgia ACE_TIME_PROGMEM = {
23400  kZoneNameAtlantic_South_Georgia /*name*/,
23401  0x33013174 /*zoneId*/,
23402  &kZoneContext /*zoneContext*/,
23403  2 /*numEras*/,
23404  kZoneEraAtlantic_South_Georgia /*eras*/,
23405  nullptr /*targetInfo*/,
23406 };
23407 
23408 //---------------------------------------------------------------------------
23409 // Zone name: Atlantic/Stanley
23410 // Eras: 6
23411 //---------------------------------------------------------------------------
23412 
23413 static const complete::ZoneEra kZoneEraAtlantic_Stanley[] ACE_TIME_PROGMEM = {
23414  // -3:51:24 - LMT 1890
23415  {
23416  nullptr /*zonePolicy*/,
23417  "LMT" /*format*/,
23418  -926 /*offsetCode (-13884/15)*/,
23419  6 /*offsetRemainder (-13884%15)*/,
23420  0 /*deltaMinutes*/,
23421  1890 /*untilYear*/,
23422  1 /*untilMonth*/,
23423  1 /*untilDay*/,
23424  0 /*untilTimeCode (0/15)*/,
23425  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23426  },
23427  // -3:51:24 - SMT 1912 Mar 12
23428  {
23429  nullptr /*zonePolicy*/,
23430  "SMT" /*format*/,
23431  -926 /*offsetCode (-13884/15)*/,
23432  6 /*offsetRemainder (-13884%15)*/,
23433  0 /*deltaMinutes*/,
23434  1912 /*untilYear*/,
23435  3 /*untilMonth*/,
23436  12 /*untilDay*/,
23437  0 /*untilTimeCode (0/15)*/,
23438  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23439  },
23440  // -4:00 Falk %z 1983 May
23441  {
23442  &kZonePolicyFalk /*zonePolicy*/,
23443  "" /*format*/,
23444  -960 /*offsetCode (-14400/15)*/,
23445  0 /*offsetRemainder (-14400%15)*/,
23446  0 /*deltaMinutes*/,
23447  1983 /*untilYear*/,
23448  5 /*untilMonth*/,
23449  1 /*untilDay*/,
23450  0 /*untilTimeCode (0/15)*/,
23451  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23452  },
23453  // -3:00 Falk %z 1985 Sep 15
23454  {
23455  &kZonePolicyFalk /*zonePolicy*/,
23456  "" /*format*/,
23457  -720 /*offsetCode (-10800/15)*/,
23458  0 /*offsetRemainder (-10800%15)*/,
23459  0 /*deltaMinutes*/,
23460  1985 /*untilYear*/,
23461  9 /*untilMonth*/,
23462  15 /*untilDay*/,
23463  0 /*untilTimeCode (0/15)*/,
23464  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23465  },
23466  // -4:00 Falk %z 2010 Sep 5 2:00
23467  {
23468  &kZonePolicyFalk /*zonePolicy*/,
23469  "" /*format*/,
23470  -960 /*offsetCode (-14400/15)*/,
23471  0 /*offsetRemainder (-14400%15)*/,
23472  0 /*deltaMinutes*/,
23473  2010 /*untilYear*/,
23474  9 /*untilMonth*/,
23475  5 /*untilDay*/,
23476  480 /*untilTimeCode (7200/15)*/,
23477  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23478  },
23479  // -3:00 - %z
23480  {
23481  nullptr /*zonePolicy*/,
23482  "" /*format*/,
23483  -720 /*offsetCode (-10800/15)*/,
23484  0 /*offsetRemainder (-10800%15)*/,
23485  0 /*deltaMinutes*/,
23486  32767 /*untilYear*/,
23487  1 /*untilMonth*/,
23488  1 /*untilDay*/,
23489  0 /*untilTimeCode (0/15)*/,
23490  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23491  },
23492 
23493 };
23494 
23495 static const char kZoneNameAtlantic_Stanley[] ACE_TIME_PROGMEM = "\x06" "Stanley";
23496 
23497 const complete::ZoneInfo kZoneAtlantic_Stanley ACE_TIME_PROGMEM = {
23498  kZoneNameAtlantic_Stanley /*name*/,
23499  0x7bb3e1c4 /*zoneId*/,
23500  &kZoneContext /*zoneContext*/,
23501  6 /*numEras*/,
23502  kZoneEraAtlantic_Stanley /*eras*/,
23503  nullptr /*targetInfo*/,
23504 };
23505 
23506 //---------------------------------------------------------------------------
23507 // Zone name: Australia/Adelaide
23508 // Eras: 4
23509 //---------------------------------------------------------------------------
23510 
23511 static const complete::ZoneEra kZoneEraAustralia_Adelaide[] ACE_TIME_PROGMEM = {
23512  // 9:14:20 - LMT 1895 Feb
23513  {
23514  nullptr /*zonePolicy*/,
23515  "LMT" /*format*/,
23516  2217 /*offsetCode (33260/15)*/,
23517  5 /*offsetRemainder (33260%15)*/,
23518  0 /*deltaMinutes*/,
23519  1895 /*untilYear*/,
23520  2 /*untilMonth*/,
23521  1 /*untilDay*/,
23522  0 /*untilTimeCode (0/15)*/,
23523  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23524  },
23525  // 9:00 - ACST 1899 May
23526  {
23527  nullptr /*zonePolicy*/,
23528  "ACST" /*format*/,
23529  2160 /*offsetCode (32400/15)*/,
23530  0 /*offsetRemainder (32400%15)*/,
23531  0 /*deltaMinutes*/,
23532  1899 /*untilYear*/,
23533  5 /*untilMonth*/,
23534  1 /*untilDay*/,
23535  0 /*untilTimeCode (0/15)*/,
23536  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23537  },
23538  // 9:30 Aus AC%sT 1971
23539  {
23540  &kZonePolicyAus /*zonePolicy*/,
23541  "AC%T" /*format*/,
23542  2280 /*offsetCode (34200/15)*/,
23543  0 /*offsetRemainder (34200%15)*/,
23544  0 /*deltaMinutes*/,
23545  1971 /*untilYear*/,
23546  1 /*untilMonth*/,
23547  1 /*untilDay*/,
23548  0 /*untilTimeCode (0/15)*/,
23549  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23550  },
23551  // 9:30 AS AC%sT
23552  {
23553  &kZonePolicyAS /*zonePolicy*/,
23554  "AC%T" /*format*/,
23555  2280 /*offsetCode (34200/15)*/,
23556  0 /*offsetRemainder (34200%15)*/,
23557  0 /*deltaMinutes*/,
23558  32767 /*untilYear*/,
23559  1 /*untilMonth*/,
23560  1 /*untilDay*/,
23561  0 /*untilTimeCode (0/15)*/,
23562  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23563  },
23564 
23565 };
23566 
23567 static const char kZoneNameAustralia_Adelaide[] ACE_TIME_PROGMEM = "\x07" "Adelaide";
23568 
23569 const complete::ZoneInfo kZoneAustralia_Adelaide ACE_TIME_PROGMEM = {
23570  kZoneNameAustralia_Adelaide /*name*/,
23571  0x2428e8a3 /*zoneId*/,
23572  &kZoneContext /*zoneContext*/,
23573  4 /*numEras*/,
23574  kZoneEraAustralia_Adelaide /*eras*/,
23575  nullptr /*targetInfo*/,
23576 };
23577 
23578 //---------------------------------------------------------------------------
23579 // Zone name: Australia/Brisbane
23580 // Eras: 3
23581 //---------------------------------------------------------------------------
23582 
23583 static const complete::ZoneEra kZoneEraAustralia_Brisbane[] ACE_TIME_PROGMEM = {
23584  // 10:12:08 - LMT 1895
23585  {
23586  nullptr /*zonePolicy*/,
23587  "LMT" /*format*/,
23588  2448 /*offsetCode (36728/15)*/,
23589  8 /*offsetRemainder (36728%15)*/,
23590  0 /*deltaMinutes*/,
23591  1895 /*untilYear*/,
23592  1 /*untilMonth*/,
23593  1 /*untilDay*/,
23594  0 /*untilTimeCode (0/15)*/,
23595  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23596  },
23597  // 10:00 Aus AE%sT 1971
23598  {
23599  &kZonePolicyAus /*zonePolicy*/,
23600  "AE%T" /*format*/,
23601  2400 /*offsetCode (36000/15)*/,
23602  0 /*offsetRemainder (36000%15)*/,
23603  0 /*deltaMinutes*/,
23604  1971 /*untilYear*/,
23605  1 /*untilMonth*/,
23606  1 /*untilDay*/,
23607  0 /*untilTimeCode (0/15)*/,
23608  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23609  },
23610  // 10:00 AQ AE%sT
23611  {
23612  &kZonePolicyAQ /*zonePolicy*/,
23613  "AE%T" /*format*/,
23614  2400 /*offsetCode (36000/15)*/,
23615  0 /*offsetRemainder (36000%15)*/,
23616  0 /*deltaMinutes*/,
23617  32767 /*untilYear*/,
23618  1 /*untilMonth*/,
23619  1 /*untilDay*/,
23620  0 /*untilTimeCode (0/15)*/,
23621  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23622  },
23623 
23624 };
23625 
23626 static const char kZoneNameAustralia_Brisbane[] ACE_TIME_PROGMEM = "\x07" "Brisbane";
23627 
23628 const complete::ZoneInfo kZoneAustralia_Brisbane ACE_TIME_PROGMEM = {
23629  kZoneNameAustralia_Brisbane /*name*/,
23630  0x4fedc9c0 /*zoneId*/,
23631  &kZoneContext /*zoneContext*/,
23632  3 /*numEras*/,
23633  kZoneEraAustralia_Brisbane /*eras*/,
23634  nullptr /*targetInfo*/,
23635 };
23636 
23637 //---------------------------------------------------------------------------
23638 // Zone name: Australia/Broken_Hill
23639 // Eras: 6
23640 //---------------------------------------------------------------------------
23641 
23642 static const complete::ZoneEra kZoneEraAustralia_Broken_Hill[] ACE_TIME_PROGMEM = {
23643  // 9:25:48 - LMT 1895 Feb
23644  {
23645  nullptr /*zonePolicy*/,
23646  "LMT" /*format*/,
23647  2263 /*offsetCode (33948/15)*/,
23648  3 /*offsetRemainder (33948%15)*/,
23649  0 /*deltaMinutes*/,
23650  1895 /*untilYear*/,
23651  2 /*untilMonth*/,
23652  1 /*untilDay*/,
23653  0 /*untilTimeCode (0/15)*/,
23654  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23655  },
23656  // 10:00 - AEST 1896 Aug 23
23657  {
23658  nullptr /*zonePolicy*/,
23659  "AEST" /*format*/,
23660  2400 /*offsetCode (36000/15)*/,
23661  0 /*offsetRemainder (36000%15)*/,
23662  0 /*deltaMinutes*/,
23663  1896 /*untilYear*/,
23664  8 /*untilMonth*/,
23665  23 /*untilDay*/,
23666  0 /*untilTimeCode (0/15)*/,
23667  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23668  },
23669  // 9:00 - ACST 1899 May
23670  {
23671  nullptr /*zonePolicy*/,
23672  "ACST" /*format*/,
23673  2160 /*offsetCode (32400/15)*/,
23674  0 /*offsetRemainder (32400%15)*/,
23675  0 /*deltaMinutes*/,
23676  1899 /*untilYear*/,
23677  5 /*untilMonth*/,
23678  1 /*untilDay*/,
23679  0 /*untilTimeCode (0/15)*/,
23680  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23681  },
23682  // 9:30 Aus AC%sT 1971
23683  {
23684  &kZonePolicyAus /*zonePolicy*/,
23685  "AC%T" /*format*/,
23686  2280 /*offsetCode (34200/15)*/,
23687  0 /*offsetRemainder (34200%15)*/,
23688  0 /*deltaMinutes*/,
23689  1971 /*untilYear*/,
23690  1 /*untilMonth*/,
23691  1 /*untilDay*/,
23692  0 /*untilTimeCode (0/15)*/,
23693  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23694  },
23695  // 9:30 AN AC%sT 2000
23696  {
23697  &kZonePolicyAN /*zonePolicy*/,
23698  "AC%T" /*format*/,
23699  2280 /*offsetCode (34200/15)*/,
23700  0 /*offsetRemainder (34200%15)*/,
23701  0 /*deltaMinutes*/,
23702  2000 /*untilYear*/,
23703  1 /*untilMonth*/,
23704  1 /*untilDay*/,
23705  0 /*untilTimeCode (0/15)*/,
23706  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23707  },
23708  // 9:30 AS AC%sT
23709  {
23710  &kZonePolicyAS /*zonePolicy*/,
23711  "AC%T" /*format*/,
23712  2280 /*offsetCode (34200/15)*/,
23713  0 /*offsetRemainder (34200%15)*/,
23714  0 /*deltaMinutes*/,
23715  32767 /*untilYear*/,
23716  1 /*untilMonth*/,
23717  1 /*untilDay*/,
23718  0 /*untilTimeCode (0/15)*/,
23719  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23720  },
23721 
23722 };
23723 
23724 static const char kZoneNameAustralia_Broken_Hill[] ACE_TIME_PROGMEM = "\x07" "Broken_Hill";
23725 
23726 const complete::ZoneInfo kZoneAustralia_Broken_Hill ACE_TIME_PROGMEM = {
23727  kZoneNameAustralia_Broken_Hill /*name*/,
23728  0xb06eada3 /*zoneId*/,
23729  &kZoneContext /*zoneContext*/,
23730  6 /*numEras*/,
23731  kZoneEraAustralia_Broken_Hill /*eras*/,
23732  nullptr /*targetInfo*/,
23733 };
23734 
23735 //---------------------------------------------------------------------------
23736 // Zone name: Australia/Darwin
23737 // Eras: 3
23738 //---------------------------------------------------------------------------
23739 
23740 static const complete::ZoneEra kZoneEraAustralia_Darwin[] ACE_TIME_PROGMEM = {
23741  // 8:43:20 - LMT 1895 Feb
23742  {
23743  nullptr /*zonePolicy*/,
23744  "LMT" /*format*/,
23745  2093 /*offsetCode (31400/15)*/,
23746  5 /*offsetRemainder (31400%15)*/,
23747  0 /*deltaMinutes*/,
23748  1895 /*untilYear*/,
23749  2 /*untilMonth*/,
23750  1 /*untilDay*/,
23751  0 /*untilTimeCode (0/15)*/,
23752  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23753  },
23754  // 9:00 - ACST 1899 May
23755  {
23756  nullptr /*zonePolicy*/,
23757  "ACST" /*format*/,
23758  2160 /*offsetCode (32400/15)*/,
23759  0 /*offsetRemainder (32400%15)*/,
23760  0 /*deltaMinutes*/,
23761  1899 /*untilYear*/,
23762  5 /*untilMonth*/,
23763  1 /*untilDay*/,
23764  0 /*untilTimeCode (0/15)*/,
23765  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23766  },
23767  // 9:30 Aus AC%sT
23768  {
23769  &kZonePolicyAus /*zonePolicy*/,
23770  "AC%T" /*format*/,
23771  2280 /*offsetCode (34200/15)*/,
23772  0 /*offsetRemainder (34200%15)*/,
23773  0 /*deltaMinutes*/,
23774  32767 /*untilYear*/,
23775  1 /*untilMonth*/,
23776  1 /*untilDay*/,
23777  0 /*untilTimeCode (0/15)*/,
23778  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23779  },
23780 
23781 };
23782 
23783 static const char kZoneNameAustralia_Darwin[] ACE_TIME_PROGMEM = "\x07" "Darwin";
23784 
23785 const complete::ZoneInfo kZoneAustralia_Darwin ACE_TIME_PROGMEM = {
23786  kZoneNameAustralia_Darwin /*name*/,
23787  0x2876bdff /*zoneId*/,
23788  &kZoneContext /*zoneContext*/,
23789  3 /*numEras*/,
23790  kZoneEraAustralia_Darwin /*eras*/,
23791  nullptr /*targetInfo*/,
23792 };
23793 
23794 //---------------------------------------------------------------------------
23795 // Zone name: Australia/Eucla
23796 // Eras: 3
23797 //---------------------------------------------------------------------------
23798 
23799 static const complete::ZoneEra kZoneEraAustralia_Eucla[] ACE_TIME_PROGMEM = {
23800  // 8:35:28 - LMT 1895 Dec
23801  {
23802  nullptr /*zonePolicy*/,
23803  "LMT" /*format*/,
23804  2061 /*offsetCode (30928/15)*/,
23805  13 /*offsetRemainder (30928%15)*/,
23806  0 /*deltaMinutes*/,
23807  1895 /*untilYear*/,
23808  12 /*untilMonth*/,
23809  1 /*untilDay*/,
23810  0 /*untilTimeCode (0/15)*/,
23811  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23812  },
23813  // 8:45 Aus %z 1943 Jul
23814  {
23815  &kZonePolicyAus /*zonePolicy*/,
23816  "" /*format*/,
23817  2100 /*offsetCode (31500/15)*/,
23818  0 /*offsetRemainder (31500%15)*/,
23819  0 /*deltaMinutes*/,
23820  1943 /*untilYear*/,
23821  7 /*untilMonth*/,
23822  1 /*untilDay*/,
23823  0 /*untilTimeCode (0/15)*/,
23824  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23825  },
23826  // 8:45 AW %z
23827  {
23828  &kZonePolicyAW /*zonePolicy*/,
23829  "" /*format*/,
23830  2100 /*offsetCode (31500/15)*/,
23831  0 /*offsetRemainder (31500%15)*/,
23832  0 /*deltaMinutes*/,
23833  32767 /*untilYear*/,
23834  1 /*untilMonth*/,
23835  1 /*untilDay*/,
23836  0 /*untilTimeCode (0/15)*/,
23837  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23838  },
23839 
23840 };
23841 
23842 static const char kZoneNameAustralia_Eucla[] ACE_TIME_PROGMEM = "\x07" "Eucla";
23843 
23844 const complete::ZoneInfo kZoneAustralia_Eucla ACE_TIME_PROGMEM = {
23845  kZoneNameAustralia_Eucla /*name*/,
23846  0x8cf99e44 /*zoneId*/,
23847  &kZoneContext /*zoneContext*/,
23848  3 /*numEras*/,
23849  kZoneEraAustralia_Eucla /*eras*/,
23850  nullptr /*targetInfo*/,
23851 };
23852 
23853 //---------------------------------------------------------------------------
23854 // Zone name: Australia/Hobart
23855 // Eras: 4
23856 //---------------------------------------------------------------------------
23857 
23858 static const complete::ZoneEra kZoneEraAustralia_Hobart[] ACE_TIME_PROGMEM = {
23859  // 9:49:16 - LMT 1895 Sep
23860  {
23861  nullptr /*zonePolicy*/,
23862  "LMT" /*format*/,
23863  2357 /*offsetCode (35356/15)*/,
23864  1 /*offsetRemainder (35356%15)*/,
23865  0 /*deltaMinutes*/,
23866  1895 /*untilYear*/,
23867  9 /*untilMonth*/,
23868  1 /*untilDay*/,
23869  0 /*untilTimeCode (0/15)*/,
23870  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23871  },
23872  // 10:00 AT AE%sT 1919 Oct 24
23873  {
23874  &kZonePolicyAT /*zonePolicy*/,
23875  "AE%T" /*format*/,
23876  2400 /*offsetCode (36000/15)*/,
23877  0 /*offsetRemainder (36000%15)*/,
23878  0 /*deltaMinutes*/,
23879  1919 /*untilYear*/,
23880  10 /*untilMonth*/,
23881  24 /*untilDay*/,
23882  0 /*untilTimeCode (0/15)*/,
23883  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23884  },
23885  // 10:00 Aus AE%sT 1967
23886  {
23887  &kZonePolicyAus /*zonePolicy*/,
23888  "AE%T" /*format*/,
23889  2400 /*offsetCode (36000/15)*/,
23890  0 /*offsetRemainder (36000%15)*/,
23891  0 /*deltaMinutes*/,
23892  1967 /*untilYear*/,
23893  1 /*untilMonth*/,
23894  1 /*untilDay*/,
23895  0 /*untilTimeCode (0/15)*/,
23896  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23897  },
23898  // 10:00 AT AE%sT
23899  {
23900  &kZonePolicyAT /*zonePolicy*/,
23901  "AE%T" /*format*/,
23902  2400 /*offsetCode (36000/15)*/,
23903  0 /*offsetRemainder (36000%15)*/,
23904  0 /*deltaMinutes*/,
23905  32767 /*untilYear*/,
23906  1 /*untilMonth*/,
23907  1 /*untilDay*/,
23908  0 /*untilTimeCode (0/15)*/,
23909  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23910  },
23911 
23912 };
23913 
23914 static const char kZoneNameAustralia_Hobart[] ACE_TIME_PROGMEM = "\x07" "Hobart";
23915 
23916 const complete::ZoneInfo kZoneAustralia_Hobart ACE_TIME_PROGMEM = {
23917  kZoneNameAustralia_Hobart /*name*/,
23918  0x32bf951a /*zoneId*/,
23919  &kZoneContext /*zoneContext*/,
23920  4 /*numEras*/,
23921  kZoneEraAustralia_Hobart /*eras*/,
23922  nullptr /*targetInfo*/,
23923 };
23924 
23925 //---------------------------------------------------------------------------
23926 // Zone name: Australia/Lindeman
23927 // Eras: 4
23928 //---------------------------------------------------------------------------
23929 
23930 static const complete::ZoneEra kZoneEraAustralia_Lindeman[] ACE_TIME_PROGMEM = {
23931  // 9:55:56 - LMT 1895
23932  {
23933  nullptr /*zonePolicy*/,
23934  "LMT" /*format*/,
23935  2383 /*offsetCode (35756/15)*/,
23936  11 /*offsetRemainder (35756%15)*/,
23937  0 /*deltaMinutes*/,
23938  1895 /*untilYear*/,
23939  1 /*untilMonth*/,
23940  1 /*untilDay*/,
23941  0 /*untilTimeCode (0/15)*/,
23942  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23943  },
23944  // 10:00 Aus AE%sT 1971
23945  {
23946  &kZonePolicyAus /*zonePolicy*/,
23947  "AE%T" /*format*/,
23948  2400 /*offsetCode (36000/15)*/,
23949  0 /*offsetRemainder (36000%15)*/,
23950  0 /*deltaMinutes*/,
23951  1971 /*untilYear*/,
23952  1 /*untilMonth*/,
23953  1 /*untilDay*/,
23954  0 /*untilTimeCode (0/15)*/,
23955  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23956  },
23957  // 10:00 AQ AE%sT 1992 Jul
23958  {
23959  &kZonePolicyAQ /*zonePolicy*/,
23960  "AE%T" /*format*/,
23961  2400 /*offsetCode (36000/15)*/,
23962  0 /*offsetRemainder (36000%15)*/,
23963  0 /*deltaMinutes*/,
23964  1992 /*untilYear*/,
23965  7 /*untilMonth*/,
23966  1 /*untilDay*/,
23967  0 /*untilTimeCode (0/15)*/,
23968  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23969  },
23970  // 10:00 Holiday AE%sT
23971  {
23972  &kZonePolicyHoliday /*zonePolicy*/,
23973  "AE%T" /*format*/,
23974  2400 /*offsetCode (36000/15)*/,
23975  0 /*offsetRemainder (36000%15)*/,
23976  0 /*deltaMinutes*/,
23977  32767 /*untilYear*/,
23978  1 /*untilMonth*/,
23979  1 /*untilDay*/,
23980  0 /*untilTimeCode (0/15)*/,
23981  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
23982  },
23983 
23984 };
23985 
23986 static const char kZoneNameAustralia_Lindeman[] ACE_TIME_PROGMEM = "\x07" "Lindeman";
23987 
23988 const complete::ZoneInfo kZoneAustralia_Lindeman ACE_TIME_PROGMEM = {
23989  kZoneNameAustralia_Lindeman /*name*/,
23990  0xe05029e2 /*zoneId*/,
23991  &kZoneContext /*zoneContext*/,
23992  4 /*numEras*/,
23993  kZoneEraAustralia_Lindeman /*eras*/,
23994  nullptr /*targetInfo*/,
23995 };
23996 
23997 //---------------------------------------------------------------------------
23998 // Zone name: Australia/Lord_Howe
23999 // Eras: 4
24000 //---------------------------------------------------------------------------
24001 
24002 static const complete::ZoneEra kZoneEraAustralia_Lord_Howe[] ACE_TIME_PROGMEM = {
24003  // 10:36:20 - LMT 1895 Feb
24004  {
24005  nullptr /*zonePolicy*/,
24006  "LMT" /*format*/,
24007  2545 /*offsetCode (38180/15)*/,
24008  5 /*offsetRemainder (38180%15)*/,
24009  0 /*deltaMinutes*/,
24010  1895 /*untilYear*/,
24011  2 /*untilMonth*/,
24012  1 /*untilDay*/,
24013  0 /*untilTimeCode (0/15)*/,
24014  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24015  },
24016  // 10:00 - AEST 1981 Mar
24017  {
24018  nullptr /*zonePolicy*/,
24019  "AEST" /*format*/,
24020  2400 /*offsetCode (36000/15)*/,
24021  0 /*offsetRemainder (36000%15)*/,
24022  0 /*deltaMinutes*/,
24023  1981 /*untilYear*/,
24024  3 /*untilMonth*/,
24025  1 /*untilDay*/,
24026  0 /*untilTimeCode (0/15)*/,
24027  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24028  },
24029  // 10:30 LH %z 1985 Jul
24030  {
24031  &kZonePolicyLH /*zonePolicy*/,
24032  "" /*format*/,
24033  2520 /*offsetCode (37800/15)*/,
24034  0 /*offsetRemainder (37800%15)*/,
24035  0 /*deltaMinutes*/,
24036  1985 /*untilYear*/,
24037  7 /*untilMonth*/,
24038  1 /*untilDay*/,
24039  0 /*untilTimeCode (0/15)*/,
24040  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24041  },
24042  // 10:30 LH %z
24043  {
24044  &kZonePolicyLH /*zonePolicy*/,
24045  "" /*format*/,
24046  2520 /*offsetCode (37800/15)*/,
24047  0 /*offsetRemainder (37800%15)*/,
24048  0 /*deltaMinutes*/,
24049  32767 /*untilYear*/,
24050  1 /*untilMonth*/,
24051  1 /*untilDay*/,
24052  0 /*untilTimeCode (0/15)*/,
24053  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24054  },
24055 
24056 };
24057 
24058 static const char kZoneNameAustralia_Lord_Howe[] ACE_TIME_PROGMEM = "\x07" "Lord_Howe";
24059 
24060 const complete::ZoneInfo kZoneAustralia_Lord_Howe ACE_TIME_PROGMEM = {
24061  kZoneNameAustralia_Lord_Howe /*name*/,
24062  0xa748b67d /*zoneId*/,
24063  &kZoneContext /*zoneContext*/,
24064  4 /*numEras*/,
24065  kZoneEraAustralia_Lord_Howe /*eras*/,
24066  nullptr /*targetInfo*/,
24067 };
24068 
24069 //---------------------------------------------------------------------------
24070 // Zone name: Australia/Melbourne
24071 // Eras: 3
24072 //---------------------------------------------------------------------------
24073 
24074 static const complete::ZoneEra kZoneEraAustralia_Melbourne[] ACE_TIME_PROGMEM = {
24075  // 9:39:52 - LMT 1895 Feb
24076  {
24077  nullptr /*zonePolicy*/,
24078  "LMT" /*format*/,
24079  2319 /*offsetCode (34792/15)*/,
24080  7 /*offsetRemainder (34792%15)*/,
24081  0 /*deltaMinutes*/,
24082  1895 /*untilYear*/,
24083  2 /*untilMonth*/,
24084  1 /*untilDay*/,
24085  0 /*untilTimeCode (0/15)*/,
24086  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24087  },
24088  // 10:00 Aus AE%sT 1971
24089  {
24090  &kZonePolicyAus /*zonePolicy*/,
24091  "AE%T" /*format*/,
24092  2400 /*offsetCode (36000/15)*/,
24093  0 /*offsetRemainder (36000%15)*/,
24094  0 /*deltaMinutes*/,
24095  1971 /*untilYear*/,
24096  1 /*untilMonth*/,
24097  1 /*untilDay*/,
24098  0 /*untilTimeCode (0/15)*/,
24099  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24100  },
24101  // 10:00 AV AE%sT
24102  {
24103  &kZonePolicyAV /*zonePolicy*/,
24104  "AE%T" /*format*/,
24105  2400 /*offsetCode (36000/15)*/,
24106  0 /*offsetRemainder (36000%15)*/,
24107  0 /*deltaMinutes*/,
24108  32767 /*untilYear*/,
24109  1 /*untilMonth*/,
24110  1 /*untilDay*/,
24111  0 /*untilTimeCode (0/15)*/,
24112  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24113  },
24114 
24115 };
24116 
24117 static const char kZoneNameAustralia_Melbourne[] ACE_TIME_PROGMEM = "\x07" "Melbourne";
24118 
24119 const complete::ZoneInfo kZoneAustralia_Melbourne ACE_TIME_PROGMEM = {
24120  kZoneNameAustralia_Melbourne /*name*/,
24121  0x0fe559a3 /*zoneId*/,
24122  &kZoneContext /*zoneContext*/,
24123  3 /*numEras*/,
24124  kZoneEraAustralia_Melbourne /*eras*/,
24125  nullptr /*targetInfo*/,
24126 };
24127 
24128 //---------------------------------------------------------------------------
24129 // Zone name: Australia/Perth
24130 // Eras: 3
24131 //---------------------------------------------------------------------------
24132 
24133 static const complete::ZoneEra kZoneEraAustralia_Perth[] ACE_TIME_PROGMEM = {
24134  // 7:43:24 - LMT 1895 Dec
24135  {
24136  nullptr /*zonePolicy*/,
24137  "LMT" /*format*/,
24138  1853 /*offsetCode (27804/15)*/,
24139  9 /*offsetRemainder (27804%15)*/,
24140  0 /*deltaMinutes*/,
24141  1895 /*untilYear*/,
24142  12 /*untilMonth*/,
24143  1 /*untilDay*/,
24144  0 /*untilTimeCode (0/15)*/,
24145  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24146  },
24147  // 8:00 Aus AW%sT 1943 Jul
24148  {
24149  &kZonePolicyAus /*zonePolicy*/,
24150  "AW%T" /*format*/,
24151  1920 /*offsetCode (28800/15)*/,
24152  0 /*offsetRemainder (28800%15)*/,
24153  0 /*deltaMinutes*/,
24154  1943 /*untilYear*/,
24155  7 /*untilMonth*/,
24156  1 /*untilDay*/,
24157  0 /*untilTimeCode (0/15)*/,
24158  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24159  },
24160  // 8:00 AW AW%sT
24161  {
24162  &kZonePolicyAW /*zonePolicy*/,
24163  "AW%T" /*format*/,
24164  1920 /*offsetCode (28800/15)*/,
24165  0 /*offsetRemainder (28800%15)*/,
24166  0 /*deltaMinutes*/,
24167  32767 /*untilYear*/,
24168  1 /*untilMonth*/,
24169  1 /*untilDay*/,
24170  0 /*untilTimeCode (0/15)*/,
24171  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24172  },
24173 
24174 };
24175 
24176 static const char kZoneNameAustralia_Perth[] ACE_TIME_PROGMEM = "\x07" "Perth";
24177 
24178 const complete::ZoneInfo kZoneAustralia_Perth ACE_TIME_PROGMEM = {
24179  kZoneNameAustralia_Perth /*name*/,
24180  0x8db8269d /*zoneId*/,
24181  &kZoneContext /*zoneContext*/,
24182  3 /*numEras*/,
24183  kZoneEraAustralia_Perth /*eras*/,
24184  nullptr /*targetInfo*/,
24185 };
24186 
24187 //---------------------------------------------------------------------------
24188 // Zone name: Australia/Sydney
24189 // Eras: 3
24190 //---------------------------------------------------------------------------
24191 
24192 static const complete::ZoneEra kZoneEraAustralia_Sydney[] ACE_TIME_PROGMEM = {
24193  // 10:04:52 - LMT 1895 Feb
24194  {
24195  nullptr /*zonePolicy*/,
24196  "LMT" /*format*/,
24197  2419 /*offsetCode (36292/15)*/,
24198  7 /*offsetRemainder (36292%15)*/,
24199  0 /*deltaMinutes*/,
24200  1895 /*untilYear*/,
24201  2 /*untilMonth*/,
24202  1 /*untilDay*/,
24203  0 /*untilTimeCode (0/15)*/,
24204  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24205  },
24206  // 10:00 Aus AE%sT 1971
24207  {
24208  &kZonePolicyAus /*zonePolicy*/,
24209  "AE%T" /*format*/,
24210  2400 /*offsetCode (36000/15)*/,
24211  0 /*offsetRemainder (36000%15)*/,
24212  0 /*deltaMinutes*/,
24213  1971 /*untilYear*/,
24214  1 /*untilMonth*/,
24215  1 /*untilDay*/,
24216  0 /*untilTimeCode (0/15)*/,
24217  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24218  },
24219  // 10:00 AN AE%sT
24220  {
24221  &kZonePolicyAN /*zonePolicy*/,
24222  "AE%T" /*format*/,
24223  2400 /*offsetCode (36000/15)*/,
24224  0 /*offsetRemainder (36000%15)*/,
24225  0 /*deltaMinutes*/,
24226  32767 /*untilYear*/,
24227  1 /*untilMonth*/,
24228  1 /*untilDay*/,
24229  0 /*untilTimeCode (0/15)*/,
24230  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24231  },
24232 
24233 };
24234 
24235 static const char kZoneNameAustralia_Sydney[] ACE_TIME_PROGMEM = "\x07" "Sydney";
24236 
24237 const complete::ZoneInfo kZoneAustralia_Sydney ACE_TIME_PROGMEM = {
24238  kZoneNameAustralia_Sydney /*name*/,
24239  0x4d1e9776 /*zoneId*/,
24240  &kZoneContext /*zoneContext*/,
24241  3 /*numEras*/,
24242  kZoneEraAustralia_Sydney /*eras*/,
24243  nullptr /*targetInfo*/,
24244 };
24245 
24246 //---------------------------------------------------------------------------
24247 // Zone name: Etc/GMT
24248 // Eras: 1
24249 //---------------------------------------------------------------------------
24250 
24251 static const complete::ZoneEra kZoneEraEtc_GMT[] ACE_TIME_PROGMEM = {
24252  // 0 - GMT
24253  {
24254  nullptr /*zonePolicy*/,
24255  "GMT" /*format*/,
24256  0 /*offsetCode (0/15)*/,
24257  0 /*offsetRemainder (0%15)*/,
24258  0 /*deltaMinutes*/,
24259  32767 /*untilYear*/,
24260  1 /*untilMonth*/,
24261  1 /*untilDay*/,
24262  0 /*untilTimeCode (0/15)*/,
24263  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24264  },
24265 
24266 };
24267 
24268 static const char kZoneNameEtc_GMT[] ACE_TIME_PROGMEM = "\x0a" "GMT";
24269 
24270 const complete::ZoneInfo kZoneEtc_GMT ACE_TIME_PROGMEM = {
24271  kZoneNameEtc_GMT /*name*/,
24272  0xd8e2de58 /*zoneId*/,
24273  &kZoneContext /*zoneContext*/,
24274  1 /*numEras*/,
24275  kZoneEraEtc_GMT /*eras*/,
24276  nullptr /*targetInfo*/,
24277 };
24278 
24279 //---------------------------------------------------------------------------
24280 // Zone name: Etc/GMT+1
24281 // Eras: 1
24282 //---------------------------------------------------------------------------
24283 
24284 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = {
24285  // -1 - %z
24286  {
24287  nullptr /*zonePolicy*/,
24288  "" /*format*/,
24289  -240 /*offsetCode (-3600/15)*/,
24290  0 /*offsetRemainder (-3600%15)*/,
24291  0 /*deltaMinutes*/,
24292  32767 /*untilYear*/,
24293  1 /*untilMonth*/,
24294  1 /*untilDay*/,
24295  0 /*untilTimeCode (0/15)*/,
24296  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24297  },
24298 
24299 };
24300 
24301 static const char kZoneNameEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = "\x0a" "GMT+1";
24302 
24303 const complete::ZoneInfo kZoneEtc_GMT_PLUS_1 ACE_TIME_PROGMEM = {
24304  kZoneNameEtc_GMT_PLUS_1 /*name*/,
24305  0x9d13da14 /*zoneId*/,
24306  &kZoneContext /*zoneContext*/,
24307  1 /*numEras*/,
24308  kZoneEraEtc_GMT_PLUS_1 /*eras*/,
24309  nullptr /*targetInfo*/,
24310 };
24311 
24312 //---------------------------------------------------------------------------
24313 // Zone name: Etc/GMT+10
24314 // Eras: 1
24315 //---------------------------------------------------------------------------
24316 
24317 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = {
24318  // -10 - %z
24319  {
24320  nullptr /*zonePolicy*/,
24321  "" /*format*/,
24322  -2400 /*offsetCode (-36000/15)*/,
24323  0 /*offsetRemainder (-36000%15)*/,
24324  0 /*deltaMinutes*/,
24325  32767 /*untilYear*/,
24326  1 /*untilMonth*/,
24327  1 /*untilDay*/,
24328  0 /*untilTimeCode (0/15)*/,
24329  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24330  },
24331 
24332 };
24333 
24334 static const char kZoneNameEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = "\x0a" "GMT+10";
24335 
24336 const complete::ZoneInfo kZoneEtc_GMT_PLUS_10 ACE_TIME_PROGMEM = {
24337  kZoneNameEtc_GMT_PLUS_10 /*name*/,
24338  0x3f8f1cc4 /*zoneId*/,
24339  &kZoneContext /*zoneContext*/,
24340  1 /*numEras*/,
24341  kZoneEraEtc_GMT_PLUS_10 /*eras*/,
24342  nullptr /*targetInfo*/,
24343 };
24344 
24345 //---------------------------------------------------------------------------
24346 // Zone name: Etc/GMT+11
24347 // Eras: 1
24348 //---------------------------------------------------------------------------
24349 
24350 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = {
24351  // -11 - %z
24352  {
24353  nullptr /*zonePolicy*/,
24354  "" /*format*/,
24355  -2640 /*offsetCode (-39600/15)*/,
24356  0 /*offsetRemainder (-39600%15)*/,
24357  0 /*deltaMinutes*/,
24358  32767 /*untilYear*/,
24359  1 /*untilMonth*/,
24360  1 /*untilDay*/,
24361  0 /*untilTimeCode (0/15)*/,
24362  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24363  },
24364 
24365 };
24366 
24367 static const char kZoneNameEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = "\x0a" "GMT+11";
24368 
24369 const complete::ZoneInfo kZoneEtc_GMT_PLUS_11 ACE_TIME_PROGMEM = {
24370  kZoneNameEtc_GMT_PLUS_11 /*name*/,
24371  0x3f8f1cc5 /*zoneId*/,
24372  &kZoneContext /*zoneContext*/,
24373  1 /*numEras*/,
24374  kZoneEraEtc_GMT_PLUS_11 /*eras*/,
24375  nullptr /*targetInfo*/,
24376 };
24377 
24378 //---------------------------------------------------------------------------
24379 // Zone name: Etc/GMT+12
24380 // Eras: 1
24381 //---------------------------------------------------------------------------
24382 
24383 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = {
24384  // -12 - %z
24385  {
24386  nullptr /*zonePolicy*/,
24387  "" /*format*/,
24388  -2880 /*offsetCode (-43200/15)*/,
24389  0 /*offsetRemainder (-43200%15)*/,
24390  0 /*deltaMinutes*/,
24391  32767 /*untilYear*/,
24392  1 /*untilMonth*/,
24393  1 /*untilDay*/,
24394  0 /*untilTimeCode (0/15)*/,
24395  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24396  },
24397 
24398 };
24399 
24400 static const char kZoneNameEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = "\x0a" "GMT+12";
24401 
24402 const complete::ZoneInfo kZoneEtc_GMT_PLUS_12 ACE_TIME_PROGMEM = {
24403  kZoneNameEtc_GMT_PLUS_12 /*name*/,
24404  0x3f8f1cc6 /*zoneId*/,
24405  &kZoneContext /*zoneContext*/,
24406  1 /*numEras*/,
24407  kZoneEraEtc_GMT_PLUS_12 /*eras*/,
24408  nullptr /*targetInfo*/,
24409 };
24410 
24411 //---------------------------------------------------------------------------
24412 // Zone name: Etc/GMT+2
24413 // Eras: 1
24414 //---------------------------------------------------------------------------
24415 
24416 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = {
24417  // -2 - %z
24418  {
24419  nullptr /*zonePolicy*/,
24420  "" /*format*/,
24421  -480 /*offsetCode (-7200/15)*/,
24422  0 /*offsetRemainder (-7200%15)*/,
24423  0 /*deltaMinutes*/,
24424  32767 /*untilYear*/,
24425  1 /*untilMonth*/,
24426  1 /*untilDay*/,
24427  0 /*untilTimeCode (0/15)*/,
24428  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24429  },
24430 
24431 };
24432 
24433 static const char kZoneNameEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = "\x0a" "GMT+2";
24434 
24435 const complete::ZoneInfo kZoneEtc_GMT_PLUS_2 ACE_TIME_PROGMEM = {
24436  kZoneNameEtc_GMT_PLUS_2 /*name*/,
24437  0x9d13da15 /*zoneId*/,
24438  &kZoneContext /*zoneContext*/,
24439  1 /*numEras*/,
24440  kZoneEraEtc_GMT_PLUS_2 /*eras*/,
24441  nullptr /*targetInfo*/,
24442 };
24443 
24444 //---------------------------------------------------------------------------
24445 // Zone name: Etc/GMT+3
24446 // Eras: 1
24447 //---------------------------------------------------------------------------
24448 
24449 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = {
24450  // -3 - %z
24451  {
24452  nullptr /*zonePolicy*/,
24453  "" /*format*/,
24454  -720 /*offsetCode (-10800/15)*/,
24455  0 /*offsetRemainder (-10800%15)*/,
24456  0 /*deltaMinutes*/,
24457  32767 /*untilYear*/,
24458  1 /*untilMonth*/,
24459  1 /*untilDay*/,
24460  0 /*untilTimeCode (0/15)*/,
24461  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24462  },
24463 
24464 };
24465 
24466 static const char kZoneNameEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = "\x0a" "GMT+3";
24467 
24468 const complete::ZoneInfo kZoneEtc_GMT_PLUS_3 ACE_TIME_PROGMEM = {
24469  kZoneNameEtc_GMT_PLUS_3 /*name*/,
24470  0x9d13da16 /*zoneId*/,
24471  &kZoneContext /*zoneContext*/,
24472  1 /*numEras*/,
24473  kZoneEraEtc_GMT_PLUS_3 /*eras*/,
24474  nullptr /*targetInfo*/,
24475 };
24476 
24477 //---------------------------------------------------------------------------
24478 // Zone name: Etc/GMT+4
24479 // Eras: 1
24480 //---------------------------------------------------------------------------
24481 
24482 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = {
24483  // -4 - %z
24484  {
24485  nullptr /*zonePolicy*/,
24486  "" /*format*/,
24487  -960 /*offsetCode (-14400/15)*/,
24488  0 /*offsetRemainder (-14400%15)*/,
24489  0 /*deltaMinutes*/,
24490  32767 /*untilYear*/,
24491  1 /*untilMonth*/,
24492  1 /*untilDay*/,
24493  0 /*untilTimeCode (0/15)*/,
24494  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24495  },
24496 
24497 };
24498 
24499 static const char kZoneNameEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = "\x0a" "GMT+4";
24500 
24501 const complete::ZoneInfo kZoneEtc_GMT_PLUS_4 ACE_TIME_PROGMEM = {
24502  kZoneNameEtc_GMT_PLUS_4 /*name*/,
24503  0x9d13da17 /*zoneId*/,
24504  &kZoneContext /*zoneContext*/,
24505  1 /*numEras*/,
24506  kZoneEraEtc_GMT_PLUS_4 /*eras*/,
24507  nullptr /*targetInfo*/,
24508 };
24509 
24510 //---------------------------------------------------------------------------
24511 // Zone name: Etc/GMT+5
24512 // Eras: 1
24513 //---------------------------------------------------------------------------
24514 
24515 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = {
24516  // -5 - %z
24517  {
24518  nullptr /*zonePolicy*/,
24519  "" /*format*/,
24520  -1200 /*offsetCode (-18000/15)*/,
24521  0 /*offsetRemainder (-18000%15)*/,
24522  0 /*deltaMinutes*/,
24523  32767 /*untilYear*/,
24524  1 /*untilMonth*/,
24525  1 /*untilDay*/,
24526  0 /*untilTimeCode (0/15)*/,
24527  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24528  },
24529 
24530 };
24531 
24532 static const char kZoneNameEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = "\x0a" "GMT+5";
24533 
24534 const complete::ZoneInfo kZoneEtc_GMT_PLUS_5 ACE_TIME_PROGMEM = {
24535  kZoneNameEtc_GMT_PLUS_5 /*name*/,
24536  0x9d13da18 /*zoneId*/,
24537  &kZoneContext /*zoneContext*/,
24538  1 /*numEras*/,
24539  kZoneEraEtc_GMT_PLUS_5 /*eras*/,
24540  nullptr /*targetInfo*/,
24541 };
24542 
24543 //---------------------------------------------------------------------------
24544 // Zone name: Etc/GMT+6
24545 // Eras: 1
24546 //---------------------------------------------------------------------------
24547 
24548 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = {
24549  // -6 - %z
24550  {
24551  nullptr /*zonePolicy*/,
24552  "" /*format*/,
24553  -1440 /*offsetCode (-21600/15)*/,
24554  0 /*offsetRemainder (-21600%15)*/,
24555  0 /*deltaMinutes*/,
24556  32767 /*untilYear*/,
24557  1 /*untilMonth*/,
24558  1 /*untilDay*/,
24559  0 /*untilTimeCode (0/15)*/,
24560  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24561  },
24562 
24563 };
24564 
24565 static const char kZoneNameEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = "\x0a" "GMT+6";
24566 
24567 const complete::ZoneInfo kZoneEtc_GMT_PLUS_6 ACE_TIME_PROGMEM = {
24568  kZoneNameEtc_GMT_PLUS_6 /*name*/,
24569  0x9d13da19 /*zoneId*/,
24570  &kZoneContext /*zoneContext*/,
24571  1 /*numEras*/,
24572  kZoneEraEtc_GMT_PLUS_6 /*eras*/,
24573  nullptr /*targetInfo*/,
24574 };
24575 
24576 //---------------------------------------------------------------------------
24577 // Zone name: Etc/GMT+7
24578 // Eras: 1
24579 //---------------------------------------------------------------------------
24580 
24581 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = {
24582  // -7 - %z
24583  {
24584  nullptr /*zonePolicy*/,
24585  "" /*format*/,
24586  -1680 /*offsetCode (-25200/15)*/,
24587  0 /*offsetRemainder (-25200%15)*/,
24588  0 /*deltaMinutes*/,
24589  32767 /*untilYear*/,
24590  1 /*untilMonth*/,
24591  1 /*untilDay*/,
24592  0 /*untilTimeCode (0/15)*/,
24593  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24594  },
24595 
24596 };
24597 
24598 static const char kZoneNameEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = "\x0a" "GMT+7";
24599 
24600 const complete::ZoneInfo kZoneEtc_GMT_PLUS_7 ACE_TIME_PROGMEM = {
24601  kZoneNameEtc_GMT_PLUS_7 /*name*/,
24602  0x9d13da1a /*zoneId*/,
24603  &kZoneContext /*zoneContext*/,
24604  1 /*numEras*/,
24605  kZoneEraEtc_GMT_PLUS_7 /*eras*/,
24606  nullptr /*targetInfo*/,
24607 };
24608 
24609 //---------------------------------------------------------------------------
24610 // Zone name: Etc/GMT+8
24611 // Eras: 1
24612 //---------------------------------------------------------------------------
24613 
24614 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = {
24615  // -8 - %z
24616  {
24617  nullptr /*zonePolicy*/,
24618  "" /*format*/,
24619  -1920 /*offsetCode (-28800/15)*/,
24620  0 /*offsetRemainder (-28800%15)*/,
24621  0 /*deltaMinutes*/,
24622  32767 /*untilYear*/,
24623  1 /*untilMonth*/,
24624  1 /*untilDay*/,
24625  0 /*untilTimeCode (0/15)*/,
24626  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24627  },
24628 
24629 };
24630 
24631 static const char kZoneNameEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = "\x0a" "GMT+8";
24632 
24633 const complete::ZoneInfo kZoneEtc_GMT_PLUS_8 ACE_TIME_PROGMEM = {
24634  kZoneNameEtc_GMT_PLUS_8 /*name*/,
24635  0x9d13da1b /*zoneId*/,
24636  &kZoneContext /*zoneContext*/,
24637  1 /*numEras*/,
24638  kZoneEraEtc_GMT_PLUS_8 /*eras*/,
24639  nullptr /*targetInfo*/,
24640 };
24641 
24642 //---------------------------------------------------------------------------
24643 // Zone name: Etc/GMT+9
24644 // Eras: 1
24645 //---------------------------------------------------------------------------
24646 
24647 static const complete::ZoneEra kZoneEraEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = {
24648  // -9 - %z
24649  {
24650  nullptr /*zonePolicy*/,
24651  "" /*format*/,
24652  -2160 /*offsetCode (-32400/15)*/,
24653  0 /*offsetRemainder (-32400%15)*/,
24654  0 /*deltaMinutes*/,
24655  32767 /*untilYear*/,
24656  1 /*untilMonth*/,
24657  1 /*untilDay*/,
24658  0 /*untilTimeCode (0/15)*/,
24659  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24660  },
24661 
24662 };
24663 
24664 static const char kZoneNameEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = "\x0a" "GMT+9";
24665 
24666 const complete::ZoneInfo kZoneEtc_GMT_PLUS_9 ACE_TIME_PROGMEM = {
24667  kZoneNameEtc_GMT_PLUS_9 /*name*/,
24668  0x9d13da1c /*zoneId*/,
24669  &kZoneContext /*zoneContext*/,
24670  1 /*numEras*/,
24671  kZoneEraEtc_GMT_PLUS_9 /*eras*/,
24672  nullptr /*targetInfo*/,
24673 };
24674 
24675 //---------------------------------------------------------------------------
24676 // Zone name: Etc/GMT-1
24677 // Eras: 1
24678 //---------------------------------------------------------------------------
24679 
24680 static const complete::ZoneEra kZoneEraEtc_GMT_1[] ACE_TIME_PROGMEM = {
24681  // 1 - %z
24682  {
24683  nullptr /*zonePolicy*/,
24684  "" /*format*/,
24685  240 /*offsetCode (3600/15)*/,
24686  0 /*offsetRemainder (3600%15)*/,
24687  0 /*deltaMinutes*/,
24688  32767 /*untilYear*/,
24689  1 /*untilMonth*/,
24690  1 /*untilDay*/,
24691  0 /*untilTimeCode (0/15)*/,
24692  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24693  },
24694 
24695 };
24696 
24697 static const char kZoneNameEtc_GMT_1[] ACE_TIME_PROGMEM = "\x0a" "GMT-1";
24698 
24699 const complete::ZoneInfo kZoneEtc_GMT_1 ACE_TIME_PROGMEM = {
24700  kZoneNameEtc_GMT_1 /*name*/,
24701  0x9d13da56 /*zoneId*/,
24702  &kZoneContext /*zoneContext*/,
24703  1 /*numEras*/,
24704  kZoneEraEtc_GMT_1 /*eras*/,
24705  nullptr /*targetInfo*/,
24706 };
24707 
24708 //---------------------------------------------------------------------------
24709 // Zone name: Etc/GMT-10
24710 // Eras: 1
24711 //---------------------------------------------------------------------------
24712 
24713 static const complete::ZoneEra kZoneEraEtc_GMT_10[] ACE_TIME_PROGMEM = {
24714  // 10 - %z
24715  {
24716  nullptr /*zonePolicy*/,
24717  "" /*format*/,
24718  2400 /*offsetCode (36000/15)*/,
24719  0 /*offsetRemainder (36000%15)*/,
24720  0 /*deltaMinutes*/,
24721  32767 /*untilYear*/,
24722  1 /*untilMonth*/,
24723  1 /*untilDay*/,
24724  0 /*untilTimeCode (0/15)*/,
24725  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24726  },
24727 
24728 };
24729 
24730 static const char kZoneNameEtc_GMT_10[] ACE_TIME_PROGMEM = "\x0a" "GMT-10";
24731 
24732 const complete::ZoneInfo kZoneEtc_GMT_10 ACE_TIME_PROGMEM = {
24733  kZoneNameEtc_GMT_10 /*name*/,
24734  0x3f8f2546 /*zoneId*/,
24735  &kZoneContext /*zoneContext*/,
24736  1 /*numEras*/,
24737  kZoneEraEtc_GMT_10 /*eras*/,
24738  nullptr /*targetInfo*/,
24739 };
24740 
24741 //---------------------------------------------------------------------------
24742 // Zone name: Etc/GMT-11
24743 // Eras: 1
24744 //---------------------------------------------------------------------------
24745 
24746 static const complete::ZoneEra kZoneEraEtc_GMT_11[] ACE_TIME_PROGMEM = {
24747  // 11 - %z
24748  {
24749  nullptr /*zonePolicy*/,
24750  "" /*format*/,
24751  2640 /*offsetCode (39600/15)*/,
24752  0 /*offsetRemainder (39600%15)*/,
24753  0 /*deltaMinutes*/,
24754  32767 /*untilYear*/,
24755  1 /*untilMonth*/,
24756  1 /*untilDay*/,
24757  0 /*untilTimeCode (0/15)*/,
24758  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24759  },
24760 
24761 };
24762 
24763 static const char kZoneNameEtc_GMT_11[] ACE_TIME_PROGMEM = "\x0a" "GMT-11";
24764 
24765 const complete::ZoneInfo kZoneEtc_GMT_11 ACE_TIME_PROGMEM = {
24766  kZoneNameEtc_GMT_11 /*name*/,
24767  0x3f8f2547 /*zoneId*/,
24768  &kZoneContext /*zoneContext*/,
24769  1 /*numEras*/,
24770  kZoneEraEtc_GMT_11 /*eras*/,
24771  nullptr /*targetInfo*/,
24772 };
24773 
24774 //---------------------------------------------------------------------------
24775 // Zone name: Etc/GMT-12
24776 // Eras: 1
24777 //---------------------------------------------------------------------------
24778 
24779 static const complete::ZoneEra kZoneEraEtc_GMT_12[] ACE_TIME_PROGMEM = {
24780  // 12 - %z
24781  {
24782  nullptr /*zonePolicy*/,
24783  "" /*format*/,
24784  2880 /*offsetCode (43200/15)*/,
24785  0 /*offsetRemainder (43200%15)*/,
24786  0 /*deltaMinutes*/,
24787  32767 /*untilYear*/,
24788  1 /*untilMonth*/,
24789  1 /*untilDay*/,
24790  0 /*untilTimeCode (0/15)*/,
24791  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24792  },
24793 
24794 };
24795 
24796 static const char kZoneNameEtc_GMT_12[] ACE_TIME_PROGMEM = "\x0a" "GMT-12";
24797 
24798 const complete::ZoneInfo kZoneEtc_GMT_12 ACE_TIME_PROGMEM = {
24799  kZoneNameEtc_GMT_12 /*name*/,
24800  0x3f8f2548 /*zoneId*/,
24801  &kZoneContext /*zoneContext*/,
24802  1 /*numEras*/,
24803  kZoneEraEtc_GMT_12 /*eras*/,
24804  nullptr /*targetInfo*/,
24805 };
24806 
24807 //---------------------------------------------------------------------------
24808 // Zone name: Etc/GMT-13
24809 // Eras: 1
24810 //---------------------------------------------------------------------------
24811 
24812 static const complete::ZoneEra kZoneEraEtc_GMT_13[] ACE_TIME_PROGMEM = {
24813  // 13 - %z
24814  {
24815  nullptr /*zonePolicy*/,
24816  "" /*format*/,
24817  3120 /*offsetCode (46800/15)*/,
24818  0 /*offsetRemainder (46800%15)*/,
24819  0 /*deltaMinutes*/,
24820  32767 /*untilYear*/,
24821  1 /*untilMonth*/,
24822  1 /*untilDay*/,
24823  0 /*untilTimeCode (0/15)*/,
24824  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24825  },
24826 
24827 };
24828 
24829 static const char kZoneNameEtc_GMT_13[] ACE_TIME_PROGMEM = "\x0a" "GMT-13";
24830 
24831 const complete::ZoneInfo kZoneEtc_GMT_13 ACE_TIME_PROGMEM = {
24832  kZoneNameEtc_GMT_13 /*name*/,
24833  0x3f8f2549 /*zoneId*/,
24834  &kZoneContext /*zoneContext*/,
24835  1 /*numEras*/,
24836  kZoneEraEtc_GMT_13 /*eras*/,
24837  nullptr /*targetInfo*/,
24838 };
24839 
24840 //---------------------------------------------------------------------------
24841 // Zone name: Etc/GMT-14
24842 // Eras: 1
24843 //---------------------------------------------------------------------------
24844 
24845 static const complete::ZoneEra kZoneEraEtc_GMT_14[] ACE_TIME_PROGMEM = {
24846  // 14 - %z
24847  {
24848  nullptr /*zonePolicy*/,
24849  "" /*format*/,
24850  3360 /*offsetCode (50400/15)*/,
24851  0 /*offsetRemainder (50400%15)*/,
24852  0 /*deltaMinutes*/,
24853  32767 /*untilYear*/,
24854  1 /*untilMonth*/,
24855  1 /*untilDay*/,
24856  0 /*untilTimeCode (0/15)*/,
24857  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24858  },
24859 
24860 };
24861 
24862 static const char kZoneNameEtc_GMT_14[] ACE_TIME_PROGMEM = "\x0a" "GMT-14";
24863 
24864 const complete::ZoneInfo kZoneEtc_GMT_14 ACE_TIME_PROGMEM = {
24865  kZoneNameEtc_GMT_14 /*name*/,
24866  0x3f8f254a /*zoneId*/,
24867  &kZoneContext /*zoneContext*/,
24868  1 /*numEras*/,
24869  kZoneEraEtc_GMT_14 /*eras*/,
24870  nullptr /*targetInfo*/,
24871 };
24872 
24873 //---------------------------------------------------------------------------
24874 // Zone name: Etc/GMT-2
24875 // Eras: 1
24876 //---------------------------------------------------------------------------
24877 
24878 static const complete::ZoneEra kZoneEraEtc_GMT_2[] ACE_TIME_PROGMEM = {
24879  // 2 - %z
24880  {
24881  nullptr /*zonePolicy*/,
24882  "" /*format*/,
24883  480 /*offsetCode (7200/15)*/,
24884  0 /*offsetRemainder (7200%15)*/,
24885  0 /*deltaMinutes*/,
24886  32767 /*untilYear*/,
24887  1 /*untilMonth*/,
24888  1 /*untilDay*/,
24889  0 /*untilTimeCode (0/15)*/,
24890  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24891  },
24892 
24893 };
24894 
24895 static const char kZoneNameEtc_GMT_2[] ACE_TIME_PROGMEM = "\x0a" "GMT-2";
24896 
24897 const complete::ZoneInfo kZoneEtc_GMT_2 ACE_TIME_PROGMEM = {
24898  kZoneNameEtc_GMT_2 /*name*/,
24899  0x9d13da57 /*zoneId*/,
24900  &kZoneContext /*zoneContext*/,
24901  1 /*numEras*/,
24902  kZoneEraEtc_GMT_2 /*eras*/,
24903  nullptr /*targetInfo*/,
24904 };
24905 
24906 //---------------------------------------------------------------------------
24907 // Zone name: Etc/GMT-3
24908 // Eras: 1
24909 //---------------------------------------------------------------------------
24910 
24911 static const complete::ZoneEra kZoneEraEtc_GMT_3[] ACE_TIME_PROGMEM = {
24912  // 3 - %z
24913  {
24914  nullptr /*zonePolicy*/,
24915  "" /*format*/,
24916  720 /*offsetCode (10800/15)*/,
24917  0 /*offsetRemainder (10800%15)*/,
24918  0 /*deltaMinutes*/,
24919  32767 /*untilYear*/,
24920  1 /*untilMonth*/,
24921  1 /*untilDay*/,
24922  0 /*untilTimeCode (0/15)*/,
24923  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24924  },
24925 
24926 };
24927 
24928 static const char kZoneNameEtc_GMT_3[] ACE_TIME_PROGMEM = "\x0a" "GMT-3";
24929 
24930 const complete::ZoneInfo kZoneEtc_GMT_3 ACE_TIME_PROGMEM = {
24931  kZoneNameEtc_GMT_3 /*name*/,
24932  0x9d13da58 /*zoneId*/,
24933  &kZoneContext /*zoneContext*/,
24934  1 /*numEras*/,
24935  kZoneEraEtc_GMT_3 /*eras*/,
24936  nullptr /*targetInfo*/,
24937 };
24938 
24939 //---------------------------------------------------------------------------
24940 // Zone name: Etc/GMT-4
24941 // Eras: 1
24942 //---------------------------------------------------------------------------
24943 
24944 static const complete::ZoneEra kZoneEraEtc_GMT_4[] ACE_TIME_PROGMEM = {
24945  // 4 - %z
24946  {
24947  nullptr /*zonePolicy*/,
24948  "" /*format*/,
24949  960 /*offsetCode (14400/15)*/,
24950  0 /*offsetRemainder (14400%15)*/,
24951  0 /*deltaMinutes*/,
24952  32767 /*untilYear*/,
24953  1 /*untilMonth*/,
24954  1 /*untilDay*/,
24955  0 /*untilTimeCode (0/15)*/,
24956  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24957  },
24958 
24959 };
24960 
24961 static const char kZoneNameEtc_GMT_4[] ACE_TIME_PROGMEM = "\x0a" "GMT-4";
24962 
24963 const complete::ZoneInfo kZoneEtc_GMT_4 ACE_TIME_PROGMEM = {
24964  kZoneNameEtc_GMT_4 /*name*/,
24965  0x9d13da59 /*zoneId*/,
24966  &kZoneContext /*zoneContext*/,
24967  1 /*numEras*/,
24968  kZoneEraEtc_GMT_4 /*eras*/,
24969  nullptr /*targetInfo*/,
24970 };
24971 
24972 //---------------------------------------------------------------------------
24973 // Zone name: Etc/GMT-5
24974 // Eras: 1
24975 //---------------------------------------------------------------------------
24976 
24977 static const complete::ZoneEra kZoneEraEtc_GMT_5[] ACE_TIME_PROGMEM = {
24978  // 5 - %z
24979  {
24980  nullptr /*zonePolicy*/,
24981  "" /*format*/,
24982  1200 /*offsetCode (18000/15)*/,
24983  0 /*offsetRemainder (18000%15)*/,
24984  0 /*deltaMinutes*/,
24985  32767 /*untilYear*/,
24986  1 /*untilMonth*/,
24987  1 /*untilDay*/,
24988  0 /*untilTimeCode (0/15)*/,
24989  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
24990  },
24991 
24992 };
24993 
24994 static const char kZoneNameEtc_GMT_5[] ACE_TIME_PROGMEM = "\x0a" "GMT-5";
24995 
24996 const complete::ZoneInfo kZoneEtc_GMT_5 ACE_TIME_PROGMEM = {
24997  kZoneNameEtc_GMT_5 /*name*/,
24998  0x9d13da5a /*zoneId*/,
24999  &kZoneContext /*zoneContext*/,
25000  1 /*numEras*/,
25001  kZoneEraEtc_GMT_5 /*eras*/,
25002  nullptr /*targetInfo*/,
25003 };
25004 
25005 //---------------------------------------------------------------------------
25006 // Zone name: Etc/GMT-6
25007 // Eras: 1
25008 //---------------------------------------------------------------------------
25009 
25010 static const complete::ZoneEra kZoneEraEtc_GMT_6[] ACE_TIME_PROGMEM = {
25011  // 6 - %z
25012  {
25013  nullptr /*zonePolicy*/,
25014  "" /*format*/,
25015  1440 /*offsetCode (21600/15)*/,
25016  0 /*offsetRemainder (21600%15)*/,
25017  0 /*deltaMinutes*/,
25018  32767 /*untilYear*/,
25019  1 /*untilMonth*/,
25020  1 /*untilDay*/,
25021  0 /*untilTimeCode (0/15)*/,
25022  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25023  },
25024 
25025 };
25026 
25027 static const char kZoneNameEtc_GMT_6[] ACE_TIME_PROGMEM = "\x0a" "GMT-6";
25028 
25029 const complete::ZoneInfo kZoneEtc_GMT_6 ACE_TIME_PROGMEM = {
25030  kZoneNameEtc_GMT_6 /*name*/,
25031  0x9d13da5b /*zoneId*/,
25032  &kZoneContext /*zoneContext*/,
25033  1 /*numEras*/,
25034  kZoneEraEtc_GMT_6 /*eras*/,
25035  nullptr /*targetInfo*/,
25036 };
25037 
25038 //---------------------------------------------------------------------------
25039 // Zone name: Etc/GMT-7
25040 // Eras: 1
25041 //---------------------------------------------------------------------------
25042 
25043 static const complete::ZoneEra kZoneEraEtc_GMT_7[] ACE_TIME_PROGMEM = {
25044  // 7 - %z
25045  {
25046  nullptr /*zonePolicy*/,
25047  "" /*format*/,
25048  1680 /*offsetCode (25200/15)*/,
25049  0 /*offsetRemainder (25200%15)*/,
25050  0 /*deltaMinutes*/,
25051  32767 /*untilYear*/,
25052  1 /*untilMonth*/,
25053  1 /*untilDay*/,
25054  0 /*untilTimeCode (0/15)*/,
25055  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25056  },
25057 
25058 };
25059 
25060 static const char kZoneNameEtc_GMT_7[] ACE_TIME_PROGMEM = "\x0a" "GMT-7";
25061 
25062 const complete::ZoneInfo kZoneEtc_GMT_7 ACE_TIME_PROGMEM = {
25063  kZoneNameEtc_GMT_7 /*name*/,
25064  0x9d13da5c /*zoneId*/,
25065  &kZoneContext /*zoneContext*/,
25066  1 /*numEras*/,
25067  kZoneEraEtc_GMT_7 /*eras*/,
25068  nullptr /*targetInfo*/,
25069 };
25070 
25071 //---------------------------------------------------------------------------
25072 // Zone name: Etc/GMT-8
25073 // Eras: 1
25074 //---------------------------------------------------------------------------
25075 
25076 static const complete::ZoneEra kZoneEraEtc_GMT_8[] ACE_TIME_PROGMEM = {
25077  // 8 - %z
25078  {
25079  nullptr /*zonePolicy*/,
25080  "" /*format*/,
25081  1920 /*offsetCode (28800/15)*/,
25082  0 /*offsetRemainder (28800%15)*/,
25083  0 /*deltaMinutes*/,
25084  32767 /*untilYear*/,
25085  1 /*untilMonth*/,
25086  1 /*untilDay*/,
25087  0 /*untilTimeCode (0/15)*/,
25088  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25089  },
25090 
25091 };
25092 
25093 static const char kZoneNameEtc_GMT_8[] ACE_TIME_PROGMEM = "\x0a" "GMT-8";
25094 
25095 const complete::ZoneInfo kZoneEtc_GMT_8 ACE_TIME_PROGMEM = {
25096  kZoneNameEtc_GMT_8 /*name*/,
25097  0x9d13da5d /*zoneId*/,
25098  &kZoneContext /*zoneContext*/,
25099  1 /*numEras*/,
25100  kZoneEraEtc_GMT_8 /*eras*/,
25101  nullptr /*targetInfo*/,
25102 };
25103 
25104 //---------------------------------------------------------------------------
25105 // Zone name: Etc/GMT-9
25106 // Eras: 1
25107 //---------------------------------------------------------------------------
25108 
25109 static const complete::ZoneEra kZoneEraEtc_GMT_9[] ACE_TIME_PROGMEM = {
25110  // 9 - %z
25111  {
25112  nullptr /*zonePolicy*/,
25113  "" /*format*/,
25114  2160 /*offsetCode (32400/15)*/,
25115  0 /*offsetRemainder (32400%15)*/,
25116  0 /*deltaMinutes*/,
25117  32767 /*untilYear*/,
25118  1 /*untilMonth*/,
25119  1 /*untilDay*/,
25120  0 /*untilTimeCode (0/15)*/,
25121  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25122  },
25123 
25124 };
25125 
25126 static const char kZoneNameEtc_GMT_9[] ACE_TIME_PROGMEM = "\x0a" "GMT-9";
25127 
25128 const complete::ZoneInfo kZoneEtc_GMT_9 ACE_TIME_PROGMEM = {
25129  kZoneNameEtc_GMT_9 /*name*/,
25130  0x9d13da5e /*zoneId*/,
25131  &kZoneContext /*zoneContext*/,
25132  1 /*numEras*/,
25133  kZoneEraEtc_GMT_9 /*eras*/,
25134  nullptr /*targetInfo*/,
25135 };
25136 
25137 //---------------------------------------------------------------------------
25138 // Zone name: Etc/UTC
25139 // Eras: 1
25140 //---------------------------------------------------------------------------
25141 
25142 static const complete::ZoneEra kZoneEraEtc_UTC[] ACE_TIME_PROGMEM = {
25143  // 0 - UTC
25144  {
25145  nullptr /*zonePolicy*/,
25146  "UTC" /*format*/,
25147  0 /*offsetCode (0/15)*/,
25148  0 /*offsetRemainder (0%15)*/,
25149  0 /*deltaMinutes*/,
25150  32767 /*untilYear*/,
25151  1 /*untilMonth*/,
25152  1 /*untilDay*/,
25153  0 /*untilTimeCode (0/15)*/,
25154  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25155  },
25156 
25157 };
25158 
25159 static const char kZoneNameEtc_UTC[] ACE_TIME_PROGMEM = "\x0a" "UTC";
25160 
25161 const complete::ZoneInfo kZoneEtc_UTC ACE_TIME_PROGMEM = {
25162  kZoneNameEtc_UTC /*name*/,
25163  0xd8e31abc /*zoneId*/,
25164  &kZoneContext /*zoneContext*/,
25165  1 /*numEras*/,
25166  kZoneEraEtc_UTC /*eras*/,
25167  nullptr /*targetInfo*/,
25168 };
25169 
25170 //---------------------------------------------------------------------------
25171 // Zone name: Europe/Andorra
25172 // Eras: 4
25173 //---------------------------------------------------------------------------
25174 
25175 static const complete::ZoneEra kZoneEraEurope_Andorra[] ACE_TIME_PROGMEM = {
25176  // 0:06:04 - LMT 1901
25177  {
25178  nullptr /*zonePolicy*/,
25179  "LMT" /*format*/,
25180  24 /*offsetCode (364/15)*/,
25181  4 /*offsetRemainder (364%15)*/,
25182  0 /*deltaMinutes*/,
25183  1901 /*untilYear*/,
25184  1 /*untilMonth*/,
25185  1 /*untilDay*/,
25186  0 /*untilTimeCode (0/15)*/,
25187  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25188  },
25189  // 0:00 - WET 1946 Sep 30
25190  {
25191  nullptr /*zonePolicy*/,
25192  "WET" /*format*/,
25193  0 /*offsetCode (0/15)*/,
25194  0 /*offsetRemainder (0%15)*/,
25195  0 /*deltaMinutes*/,
25196  1946 /*untilYear*/,
25197  9 /*untilMonth*/,
25198  30 /*untilDay*/,
25199  0 /*untilTimeCode (0/15)*/,
25200  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25201  },
25202  // 1:00 - CET 1985 Mar 31 2:00
25203  {
25204  nullptr /*zonePolicy*/,
25205  "CET" /*format*/,
25206  240 /*offsetCode (3600/15)*/,
25207  0 /*offsetRemainder (3600%15)*/,
25208  0 /*deltaMinutes*/,
25209  1985 /*untilYear*/,
25210  3 /*untilMonth*/,
25211  31 /*untilDay*/,
25212  480 /*untilTimeCode (7200/15)*/,
25213  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25214  },
25215  // 1:00 EU CE%sT
25216  {
25217  &kZonePolicyEU /*zonePolicy*/,
25218  "CE%T" /*format*/,
25219  240 /*offsetCode (3600/15)*/,
25220  0 /*offsetRemainder (3600%15)*/,
25221  0 /*deltaMinutes*/,
25222  32767 /*untilYear*/,
25223  1 /*untilMonth*/,
25224  1 /*untilDay*/,
25225  0 /*untilTimeCode (0/15)*/,
25226  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25227  },
25228 
25229 };
25230 
25231 static const char kZoneNameEurope_Andorra[] ACE_TIME_PROGMEM = "\x0b" "Andorra";
25232 
25233 const complete::ZoneInfo kZoneEurope_Andorra ACE_TIME_PROGMEM = {
25234  kZoneNameEurope_Andorra /*name*/,
25235  0x97f6764b /*zoneId*/,
25236  &kZoneContext /*zoneContext*/,
25237  4 /*numEras*/,
25238  kZoneEraEurope_Andorra /*eras*/,
25239  nullptr /*targetInfo*/,
25240 };
25241 
25242 //---------------------------------------------------------------------------
25243 // Zone name: Europe/Astrakhan
25244 // Eras: 9
25245 //---------------------------------------------------------------------------
25246 
25247 static const complete::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = {
25248  // 3:12:12 - LMT 1924 May
25249  {
25250  nullptr /*zonePolicy*/,
25251  "LMT" /*format*/,
25252  768 /*offsetCode (11532/15)*/,
25253  12 /*offsetRemainder (11532%15)*/,
25254  0 /*deltaMinutes*/,
25255  1924 /*untilYear*/,
25256  5 /*untilMonth*/,
25257  1 /*untilDay*/,
25258  0 /*untilTimeCode (0/15)*/,
25259  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25260  },
25261  // 3:00 - %z 1930 Jun 21
25262  {
25263  nullptr /*zonePolicy*/,
25264  "" /*format*/,
25265  720 /*offsetCode (10800/15)*/,
25266  0 /*offsetRemainder (10800%15)*/,
25267  0 /*deltaMinutes*/,
25268  1930 /*untilYear*/,
25269  6 /*untilMonth*/,
25270  21 /*untilDay*/,
25271  0 /*untilTimeCode (0/15)*/,
25272  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25273  },
25274  // 4:00 Russia %z 1989 Mar 26 2:00s
25275  {
25276  &kZonePolicyRussia /*zonePolicy*/,
25277  "" /*format*/,
25278  960 /*offsetCode (14400/15)*/,
25279  0 /*offsetRemainder (14400%15)*/,
25280  0 /*deltaMinutes*/,
25281  1989 /*untilYear*/,
25282  3 /*untilMonth*/,
25283  26 /*untilDay*/,
25284  480 /*untilTimeCode (7200/15)*/,
25285  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25286  },
25287  // 3:00 Russia %z 1991 Mar 31 2:00s
25288  {
25289  &kZonePolicyRussia /*zonePolicy*/,
25290  "" /*format*/,
25291  720 /*offsetCode (10800/15)*/,
25292  0 /*offsetRemainder (10800%15)*/,
25293  0 /*deltaMinutes*/,
25294  1991 /*untilYear*/,
25295  3 /*untilMonth*/,
25296  31 /*untilDay*/,
25297  480 /*untilTimeCode (7200/15)*/,
25298  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25299  },
25300  // 4:00 - %z 1992 Mar 29 2:00s
25301  {
25302  nullptr /*zonePolicy*/,
25303  "" /*format*/,
25304  960 /*offsetCode (14400/15)*/,
25305  0 /*offsetRemainder (14400%15)*/,
25306  0 /*deltaMinutes*/,
25307  1992 /*untilYear*/,
25308  3 /*untilMonth*/,
25309  29 /*untilDay*/,
25310  480 /*untilTimeCode (7200/15)*/,
25311  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25312  },
25313  // 3:00 Russia %z 2011 Mar 27 2:00s
25314  {
25315  &kZonePolicyRussia /*zonePolicy*/,
25316  "" /*format*/,
25317  720 /*offsetCode (10800/15)*/,
25318  0 /*offsetRemainder (10800%15)*/,
25319  0 /*deltaMinutes*/,
25320  2011 /*untilYear*/,
25321  3 /*untilMonth*/,
25322  27 /*untilDay*/,
25323  480 /*untilTimeCode (7200/15)*/,
25324  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25325  },
25326  // 4:00 - %z 2014 Oct 26 2:00s
25327  {
25328  nullptr /*zonePolicy*/,
25329  "" /*format*/,
25330  960 /*offsetCode (14400/15)*/,
25331  0 /*offsetRemainder (14400%15)*/,
25332  0 /*deltaMinutes*/,
25333  2014 /*untilYear*/,
25334  10 /*untilMonth*/,
25335  26 /*untilDay*/,
25336  480 /*untilTimeCode (7200/15)*/,
25337  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25338  },
25339  // 3:00 - %z 2016 Mar 27 2:00s
25340  {
25341  nullptr /*zonePolicy*/,
25342  "" /*format*/,
25343  720 /*offsetCode (10800/15)*/,
25344  0 /*offsetRemainder (10800%15)*/,
25345  0 /*deltaMinutes*/,
25346  2016 /*untilYear*/,
25347  3 /*untilMonth*/,
25348  27 /*untilDay*/,
25349  480 /*untilTimeCode (7200/15)*/,
25350  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25351  },
25352  // 4:00 - %z
25353  {
25354  nullptr /*zonePolicy*/,
25355  "" /*format*/,
25356  960 /*offsetCode (14400/15)*/,
25357  0 /*offsetRemainder (14400%15)*/,
25358  0 /*deltaMinutes*/,
25359  32767 /*untilYear*/,
25360  1 /*untilMonth*/,
25361  1 /*untilDay*/,
25362  0 /*untilTimeCode (0/15)*/,
25363  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25364  },
25365 
25366 };
25367 
25368 static const char kZoneNameEurope_Astrakhan[] ACE_TIME_PROGMEM = "\x0b" "Astrakhan";
25369 
25370 const complete::ZoneInfo kZoneEurope_Astrakhan ACE_TIME_PROGMEM = {
25371  kZoneNameEurope_Astrakhan /*name*/,
25372  0xe22256e1 /*zoneId*/,
25373  &kZoneContext /*zoneContext*/,
25374  9 /*numEras*/,
25375  kZoneEraEurope_Astrakhan /*eras*/,
25376  nullptr /*targetInfo*/,
25377 };
25378 
25379 //---------------------------------------------------------------------------
25380 // Zone name: Europe/Athens
25381 // Eras: 6
25382 //---------------------------------------------------------------------------
25383 
25384 static const complete::ZoneEra kZoneEraEurope_Athens[] ACE_TIME_PROGMEM = {
25385  // 1:34:52 - LMT 1895 Sep 14
25386  {
25387  nullptr /*zonePolicy*/,
25388  "LMT" /*format*/,
25389  379 /*offsetCode (5692/15)*/,
25390  7 /*offsetRemainder (5692%15)*/,
25391  0 /*deltaMinutes*/,
25392  1895 /*untilYear*/,
25393  9 /*untilMonth*/,
25394  14 /*untilDay*/,
25395  0 /*untilTimeCode (0/15)*/,
25396  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25397  },
25398  // 1:34:52 - AMT 1916 Jul 28 0:01
25399  {
25400  nullptr /*zonePolicy*/,
25401  "AMT" /*format*/,
25402  379 /*offsetCode (5692/15)*/,
25403  7 /*offsetRemainder (5692%15)*/,
25404  0 /*deltaMinutes*/,
25405  1916 /*untilYear*/,
25406  7 /*untilMonth*/,
25407  28 /*untilDay*/,
25408  4 /*untilTimeCode (60/15)*/,
25409  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25410  },
25411  // 2:00 Greece EE%sT 1941 Apr 30
25412  {
25413  &kZonePolicyGreece /*zonePolicy*/,
25414  "EE%T" /*format*/,
25415  480 /*offsetCode (7200/15)*/,
25416  0 /*offsetRemainder (7200%15)*/,
25417  0 /*deltaMinutes*/,
25418  1941 /*untilYear*/,
25419  4 /*untilMonth*/,
25420  30 /*untilDay*/,
25421  0 /*untilTimeCode (0/15)*/,
25422  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25423  },
25424  // 1:00 Greece CE%sT 1944 Apr 4
25425  {
25426  &kZonePolicyGreece /*zonePolicy*/,
25427  "CE%T" /*format*/,
25428  240 /*offsetCode (3600/15)*/,
25429  0 /*offsetRemainder (3600%15)*/,
25430  0 /*deltaMinutes*/,
25431  1944 /*untilYear*/,
25432  4 /*untilMonth*/,
25433  4 /*untilDay*/,
25434  0 /*untilTimeCode (0/15)*/,
25435  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25436  },
25437  // 2:00 Greece EE%sT 1981
25438  {
25439  &kZonePolicyGreece /*zonePolicy*/,
25440  "EE%T" /*format*/,
25441  480 /*offsetCode (7200/15)*/,
25442  0 /*offsetRemainder (7200%15)*/,
25443  0 /*deltaMinutes*/,
25444  1981 /*untilYear*/,
25445  1 /*untilMonth*/,
25446  1 /*untilDay*/,
25447  0 /*untilTimeCode (0/15)*/,
25448  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25449  },
25450  // 2:00 EU EE%sT
25451  {
25452  &kZonePolicyEU /*zonePolicy*/,
25453  "EE%T" /*format*/,
25454  480 /*offsetCode (7200/15)*/,
25455  0 /*offsetRemainder (7200%15)*/,
25456  0 /*deltaMinutes*/,
25457  32767 /*untilYear*/,
25458  1 /*untilMonth*/,
25459  1 /*untilDay*/,
25460  0 /*untilTimeCode (0/15)*/,
25461  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25462  },
25463 
25464 };
25465 
25466 static const char kZoneNameEurope_Athens[] ACE_TIME_PROGMEM = "\x0b" "Athens";
25467 
25468 const complete::ZoneInfo kZoneEurope_Athens ACE_TIME_PROGMEM = {
25469  kZoneNameEurope_Athens /*name*/,
25470  0x4318fa27 /*zoneId*/,
25471  &kZoneContext /*zoneContext*/,
25472  6 /*numEras*/,
25473  kZoneEraEurope_Athens /*eras*/,
25474  nullptr /*targetInfo*/,
25475 };
25476 
25477 //---------------------------------------------------------------------------
25478 // Zone name: Europe/Belgrade
25479 // Eras: 7
25480 //---------------------------------------------------------------------------
25481 
25482 static const complete::ZoneEra kZoneEraEurope_Belgrade[] ACE_TIME_PROGMEM = {
25483  // 1:22:00 - LMT 1884
25484  {
25485  nullptr /*zonePolicy*/,
25486  "LMT" /*format*/,
25487  328 /*offsetCode (4920/15)*/,
25488  0 /*offsetRemainder (4920%15)*/,
25489  0 /*deltaMinutes*/,
25490  1884 /*untilYear*/,
25491  1 /*untilMonth*/,
25492  1 /*untilDay*/,
25493  0 /*untilTimeCode (0/15)*/,
25494  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25495  },
25496  // 1:00 - CET 1941 Apr 18 23:00
25497  {
25498  nullptr /*zonePolicy*/,
25499  "CET" /*format*/,
25500  240 /*offsetCode (3600/15)*/,
25501  0 /*offsetRemainder (3600%15)*/,
25502  0 /*deltaMinutes*/,
25503  1941 /*untilYear*/,
25504  4 /*untilMonth*/,
25505  18 /*untilDay*/,
25506  5520 /*untilTimeCode (82800/15)*/,
25507  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25508  },
25509  // 1:00 C-Eur CE%sT 1945
25510  {
25511  &kZonePolicyC_Eur /*zonePolicy*/,
25512  "CE%T" /*format*/,
25513  240 /*offsetCode (3600/15)*/,
25514  0 /*offsetRemainder (3600%15)*/,
25515  0 /*deltaMinutes*/,
25516  1945 /*untilYear*/,
25517  1 /*untilMonth*/,
25518  1 /*untilDay*/,
25519  0 /*untilTimeCode (0/15)*/,
25520  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25521  },
25522  // 1:00 - CET 1945 May 8 2:00s
25523  {
25524  nullptr /*zonePolicy*/,
25525  "CET" /*format*/,
25526  240 /*offsetCode (3600/15)*/,
25527  0 /*offsetRemainder (3600%15)*/,
25528  0 /*deltaMinutes*/,
25529  1945 /*untilYear*/,
25530  5 /*untilMonth*/,
25531  8 /*untilDay*/,
25532  480 /*untilTimeCode (7200/15)*/,
25533  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25534  },
25535  // 1:00 1:00 CEST 1945 Sep 16 2:00s
25536  {
25537  nullptr /*zonePolicy*/,
25538  "CEST" /*format*/,
25539  240 /*offsetCode (3600/15)*/,
25540  0 /*offsetRemainder (3600%15)*/,
25541  60 /*deltaMinutes*/,
25542  1945 /*untilYear*/,
25543  9 /*untilMonth*/,
25544  16 /*untilDay*/,
25545  480 /*untilTimeCode (7200/15)*/,
25546  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25547  },
25548  // 1:00 - CET 1982 Nov 27
25549  {
25550  nullptr /*zonePolicy*/,
25551  "CET" /*format*/,
25552  240 /*offsetCode (3600/15)*/,
25553  0 /*offsetRemainder (3600%15)*/,
25554  0 /*deltaMinutes*/,
25555  1982 /*untilYear*/,
25556  11 /*untilMonth*/,
25557  27 /*untilDay*/,
25558  0 /*untilTimeCode (0/15)*/,
25559  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25560  },
25561  // 1:00 EU CE%sT
25562  {
25563  &kZonePolicyEU /*zonePolicy*/,
25564  "CE%T" /*format*/,
25565  240 /*offsetCode (3600/15)*/,
25566  0 /*offsetRemainder (3600%15)*/,
25567  0 /*deltaMinutes*/,
25568  32767 /*untilYear*/,
25569  1 /*untilMonth*/,
25570  1 /*untilDay*/,
25571  0 /*untilTimeCode (0/15)*/,
25572  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25573  },
25574 
25575 };
25576 
25577 static const char kZoneNameEurope_Belgrade[] ACE_TIME_PROGMEM = "\x0b" "Belgrade";
25578 
25579 const complete::ZoneInfo kZoneEurope_Belgrade ACE_TIME_PROGMEM = {
25580  kZoneNameEurope_Belgrade /*name*/,
25581  0xe0532b3a /*zoneId*/,
25582  &kZoneContext /*zoneContext*/,
25583  7 /*numEras*/,
25584  kZoneEraEurope_Belgrade /*eras*/,
25585  nullptr /*targetInfo*/,
25586 };
25587 
25588 //---------------------------------------------------------------------------
25589 // Zone name: Europe/Berlin
25590 // Eras: 5
25591 //---------------------------------------------------------------------------
25592 
25593 static const complete::ZoneEra kZoneEraEurope_Berlin[] ACE_TIME_PROGMEM = {
25594  // 0:53:28 - LMT 1893 Apr
25595  {
25596  nullptr /*zonePolicy*/,
25597  "LMT" /*format*/,
25598  213 /*offsetCode (3208/15)*/,
25599  13 /*offsetRemainder (3208%15)*/,
25600  0 /*deltaMinutes*/,
25601  1893 /*untilYear*/,
25602  4 /*untilMonth*/,
25603  1 /*untilDay*/,
25604  0 /*untilTimeCode (0/15)*/,
25605  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25606  },
25607  // 1:00 C-Eur CE%sT 1945 May 24 2:00
25608  {
25609  &kZonePolicyC_Eur /*zonePolicy*/,
25610  "CE%T" /*format*/,
25611  240 /*offsetCode (3600/15)*/,
25612  0 /*offsetRemainder (3600%15)*/,
25613  0 /*deltaMinutes*/,
25614  1945 /*untilYear*/,
25615  5 /*untilMonth*/,
25616  24 /*untilDay*/,
25617  480 /*untilTimeCode (7200/15)*/,
25618  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25619  },
25620  // 1:00 SovietZone CE%sT 1946
25621  {
25622  &kZonePolicySovietZone /*zonePolicy*/,
25623  "CE%T" /*format*/,
25624  240 /*offsetCode (3600/15)*/,
25625  0 /*offsetRemainder (3600%15)*/,
25626  0 /*deltaMinutes*/,
25627  1946 /*untilYear*/,
25628  1 /*untilMonth*/,
25629  1 /*untilDay*/,
25630  0 /*untilTimeCode (0/15)*/,
25631  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25632  },
25633  // 1:00 Germany CE%sT 1980
25634  {
25635  &kZonePolicyGermany /*zonePolicy*/,
25636  "CE%T" /*format*/,
25637  240 /*offsetCode (3600/15)*/,
25638  0 /*offsetRemainder (3600%15)*/,
25639  0 /*deltaMinutes*/,
25640  1980 /*untilYear*/,
25641  1 /*untilMonth*/,
25642  1 /*untilDay*/,
25643  0 /*untilTimeCode (0/15)*/,
25644  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25645  },
25646  // 1:00 EU CE%sT
25647  {
25648  &kZonePolicyEU /*zonePolicy*/,
25649  "CE%T" /*format*/,
25650  240 /*offsetCode (3600/15)*/,
25651  0 /*offsetRemainder (3600%15)*/,
25652  0 /*deltaMinutes*/,
25653  32767 /*untilYear*/,
25654  1 /*untilMonth*/,
25655  1 /*untilDay*/,
25656  0 /*untilTimeCode (0/15)*/,
25657  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25658  },
25659 
25660 };
25661 
25662 static const char kZoneNameEurope_Berlin[] ACE_TIME_PROGMEM = "\x0b" "Berlin";
25663 
25664 const complete::ZoneInfo kZoneEurope_Berlin ACE_TIME_PROGMEM = {
25665  kZoneNameEurope_Berlin /*name*/,
25666  0x44644c20 /*zoneId*/,
25667  &kZoneContext /*zoneContext*/,
25668  5 /*numEras*/,
25669  kZoneEraEurope_Berlin /*eras*/,
25670  nullptr /*targetInfo*/,
25671 };
25672 
25673 //---------------------------------------------------------------------------
25674 // Zone name: Europe/Brussels
25675 // Eras: 9
25676 //---------------------------------------------------------------------------
25677 
25678 static const complete::ZoneEra kZoneEraEurope_Brussels[] ACE_TIME_PROGMEM = {
25679  // 0:17:30 - LMT 1880
25680  {
25681  nullptr /*zonePolicy*/,
25682  "LMT" /*format*/,
25683  70 /*offsetCode (1050/15)*/,
25684  0 /*offsetRemainder (1050%15)*/,
25685  0 /*deltaMinutes*/,
25686  1880 /*untilYear*/,
25687  1 /*untilMonth*/,
25688  1 /*untilDay*/,
25689  0 /*untilTimeCode (0/15)*/,
25690  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25691  },
25692  // 0:17:30 - BMT 1892 May 1 00:17:30
25693  {
25694  nullptr /*zonePolicy*/,
25695  "BMT" /*format*/,
25696  70 /*offsetCode (1050/15)*/,
25697  0 /*offsetRemainder (1050%15)*/,
25698  0 /*deltaMinutes*/,
25699  1892 /*untilYear*/,
25700  5 /*untilMonth*/,
25701  1 /*untilDay*/,
25702  70 /*untilTimeCode (1050/15)*/,
25703  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25704  },
25705  // 0:00 - WET 1914 Nov 8
25706  {
25707  nullptr /*zonePolicy*/,
25708  "WET" /*format*/,
25709  0 /*offsetCode (0/15)*/,
25710  0 /*offsetRemainder (0%15)*/,
25711  0 /*deltaMinutes*/,
25712  1914 /*untilYear*/,
25713  11 /*untilMonth*/,
25714  8 /*untilDay*/,
25715  0 /*untilTimeCode (0/15)*/,
25716  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25717  },
25718  // 1:00 - CET 1916 May 1 0:00
25719  {
25720  nullptr /*zonePolicy*/,
25721  "CET" /*format*/,
25722  240 /*offsetCode (3600/15)*/,
25723  0 /*offsetRemainder (3600%15)*/,
25724  0 /*deltaMinutes*/,
25725  1916 /*untilYear*/,
25726  5 /*untilMonth*/,
25727  1 /*untilDay*/,
25728  0 /*untilTimeCode (0/15)*/,
25729  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25730  },
25731  // 1:00 C-Eur CE%sT 1918 Nov 11 11:00u
25732  {
25733  &kZonePolicyC_Eur /*zonePolicy*/,
25734  "CE%T" /*format*/,
25735  240 /*offsetCode (3600/15)*/,
25736  0 /*offsetRemainder (3600%15)*/,
25737  0 /*deltaMinutes*/,
25738  1918 /*untilYear*/,
25739  11 /*untilMonth*/,
25740  11 /*untilDay*/,
25741  2640 /*untilTimeCode (39600/15)*/,
25742  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
25743  },
25744  // 0:00 Belgium WE%sT 1940 May 20 2:00s
25745  {
25746  &kZonePolicyBelgium /*zonePolicy*/,
25747  "WE%T" /*format*/,
25748  0 /*offsetCode (0/15)*/,
25749  0 /*offsetRemainder (0%15)*/,
25750  0 /*deltaMinutes*/,
25751  1940 /*untilYear*/,
25752  5 /*untilMonth*/,
25753  20 /*untilDay*/,
25754  480 /*untilTimeCode (7200/15)*/,
25755  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25756  },
25757  // 1:00 C-Eur CE%sT 1944 Sep 3
25758  {
25759  &kZonePolicyC_Eur /*zonePolicy*/,
25760  "CE%T" /*format*/,
25761  240 /*offsetCode (3600/15)*/,
25762  0 /*offsetRemainder (3600%15)*/,
25763  0 /*deltaMinutes*/,
25764  1944 /*untilYear*/,
25765  9 /*untilMonth*/,
25766  3 /*untilDay*/,
25767  0 /*untilTimeCode (0/15)*/,
25768  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25769  },
25770  // 1:00 Belgium CE%sT 1977
25771  {
25772  &kZonePolicyBelgium /*zonePolicy*/,
25773  "CE%T" /*format*/,
25774  240 /*offsetCode (3600/15)*/,
25775  0 /*offsetRemainder (3600%15)*/,
25776  0 /*deltaMinutes*/,
25777  1977 /*untilYear*/,
25778  1 /*untilMonth*/,
25779  1 /*untilDay*/,
25780  0 /*untilTimeCode (0/15)*/,
25781  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25782  },
25783  // 1:00 EU CE%sT
25784  {
25785  &kZonePolicyEU /*zonePolicy*/,
25786  "CE%T" /*format*/,
25787  240 /*offsetCode (3600/15)*/,
25788  0 /*offsetRemainder (3600%15)*/,
25789  0 /*deltaMinutes*/,
25790  32767 /*untilYear*/,
25791  1 /*untilMonth*/,
25792  1 /*untilDay*/,
25793  0 /*untilTimeCode (0/15)*/,
25794  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25795  },
25796 
25797 };
25798 
25799 static const char kZoneNameEurope_Brussels[] ACE_TIME_PROGMEM = "\x0b" "Brussels";
25800 
25801 const complete::ZoneInfo kZoneEurope_Brussels ACE_TIME_PROGMEM = {
25802  kZoneNameEurope_Brussels /*name*/,
25803  0xdee07337 /*zoneId*/,
25804  &kZoneContext /*zoneContext*/,
25805  9 /*numEras*/,
25806  kZoneEraEurope_Brussels /*eras*/,
25807  nullptr /*targetInfo*/,
25808 };
25809 
25810 //---------------------------------------------------------------------------
25811 // Zone name: Europe/Bucharest
25812 // Eras: 7
25813 //---------------------------------------------------------------------------
25814 
25815 static const complete::ZoneEra kZoneEraEurope_Bucharest[] ACE_TIME_PROGMEM = {
25816  // 1:44:24 - LMT 1891 Oct
25817  {
25818  nullptr /*zonePolicy*/,
25819  "LMT" /*format*/,
25820  417 /*offsetCode (6264/15)*/,
25821  9 /*offsetRemainder (6264%15)*/,
25822  0 /*deltaMinutes*/,
25823  1891 /*untilYear*/,
25824  10 /*untilMonth*/,
25825  1 /*untilDay*/,
25826  0 /*untilTimeCode (0/15)*/,
25827  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25828  },
25829  // 1:44:24 - BMT 1931 Jul 24
25830  {
25831  nullptr /*zonePolicy*/,
25832  "BMT" /*format*/,
25833  417 /*offsetCode (6264/15)*/,
25834  9 /*offsetRemainder (6264%15)*/,
25835  0 /*deltaMinutes*/,
25836  1931 /*untilYear*/,
25837  7 /*untilMonth*/,
25838  24 /*untilDay*/,
25839  0 /*untilTimeCode (0/15)*/,
25840  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25841  },
25842  // 2:00 Romania EE%sT 1981 Mar 29 2:00s
25843  {
25844  &kZonePolicyRomania /*zonePolicy*/,
25845  "EE%T" /*format*/,
25846  480 /*offsetCode (7200/15)*/,
25847  0 /*offsetRemainder (7200%15)*/,
25848  0 /*deltaMinutes*/,
25849  1981 /*untilYear*/,
25850  3 /*untilMonth*/,
25851  29 /*untilDay*/,
25852  480 /*untilTimeCode (7200/15)*/,
25853  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
25854  },
25855  // 2:00 C-Eur EE%sT 1991
25856  {
25857  &kZonePolicyC_Eur /*zonePolicy*/,
25858  "EE%T" /*format*/,
25859  480 /*offsetCode (7200/15)*/,
25860  0 /*offsetRemainder (7200%15)*/,
25861  0 /*deltaMinutes*/,
25862  1991 /*untilYear*/,
25863  1 /*untilMonth*/,
25864  1 /*untilDay*/,
25865  0 /*untilTimeCode (0/15)*/,
25866  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25867  },
25868  // 2:00 Romania EE%sT 1994
25869  {
25870  &kZonePolicyRomania /*zonePolicy*/,
25871  "EE%T" /*format*/,
25872  480 /*offsetCode (7200/15)*/,
25873  0 /*offsetRemainder (7200%15)*/,
25874  0 /*deltaMinutes*/,
25875  1994 /*untilYear*/,
25876  1 /*untilMonth*/,
25877  1 /*untilDay*/,
25878  0 /*untilTimeCode (0/15)*/,
25879  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25880  },
25881  // 2:00 E-Eur EE%sT 1997
25882  {
25883  &kZonePolicyE_Eur /*zonePolicy*/,
25884  "EE%T" /*format*/,
25885  480 /*offsetCode (7200/15)*/,
25886  0 /*offsetRemainder (7200%15)*/,
25887  0 /*deltaMinutes*/,
25888  1997 /*untilYear*/,
25889  1 /*untilMonth*/,
25890  1 /*untilDay*/,
25891  0 /*untilTimeCode (0/15)*/,
25892  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25893  },
25894  // 2:00 EU EE%sT
25895  {
25896  &kZonePolicyEU /*zonePolicy*/,
25897  "EE%T" /*format*/,
25898  480 /*offsetCode (7200/15)*/,
25899  0 /*offsetRemainder (7200%15)*/,
25900  0 /*deltaMinutes*/,
25901  32767 /*untilYear*/,
25902  1 /*untilMonth*/,
25903  1 /*untilDay*/,
25904  0 /*untilTimeCode (0/15)*/,
25905  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25906  },
25907 
25908 };
25909 
25910 static const char kZoneNameEurope_Bucharest[] ACE_TIME_PROGMEM = "\x0b" "Bucharest";
25911 
25912 const complete::ZoneInfo kZoneEurope_Bucharest ACE_TIME_PROGMEM = {
25913  kZoneNameEurope_Bucharest /*name*/,
25914  0xfb349ec5 /*zoneId*/,
25915  &kZoneContext /*zoneContext*/,
25916  7 /*numEras*/,
25917  kZoneEraEurope_Bucharest /*eras*/,
25918  nullptr /*targetInfo*/,
25919 };
25920 
25921 //---------------------------------------------------------------------------
25922 // Zone name: Europe/Budapest
25923 // Eras: 6
25924 //---------------------------------------------------------------------------
25925 
25926 static const complete::ZoneEra kZoneEraEurope_Budapest[] ACE_TIME_PROGMEM = {
25927  // 1:16:20 - LMT 1890 Nov 1
25928  {
25929  nullptr /*zonePolicy*/,
25930  "LMT" /*format*/,
25931  305 /*offsetCode (4580/15)*/,
25932  5 /*offsetRemainder (4580%15)*/,
25933  0 /*deltaMinutes*/,
25934  1890 /*untilYear*/,
25935  11 /*untilMonth*/,
25936  1 /*untilDay*/,
25937  0 /*untilTimeCode (0/15)*/,
25938  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25939  },
25940  // 1:00 C-Eur CE%sT 1918
25941  {
25942  &kZonePolicyC_Eur /*zonePolicy*/,
25943  "CE%T" /*format*/,
25944  240 /*offsetCode (3600/15)*/,
25945  0 /*offsetRemainder (3600%15)*/,
25946  0 /*deltaMinutes*/,
25947  1918 /*untilYear*/,
25948  1 /*untilMonth*/,
25949  1 /*untilDay*/,
25950  0 /*untilTimeCode (0/15)*/,
25951  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25952  },
25953  // 1:00 Hungary CE%sT 1941 Apr 7 23:00
25954  {
25955  &kZonePolicyHungary /*zonePolicy*/,
25956  "CE%T" /*format*/,
25957  240 /*offsetCode (3600/15)*/,
25958  0 /*offsetRemainder (3600%15)*/,
25959  0 /*deltaMinutes*/,
25960  1941 /*untilYear*/,
25961  4 /*untilMonth*/,
25962  7 /*untilDay*/,
25963  5520 /*untilTimeCode (82800/15)*/,
25964  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25965  },
25966  // 1:00 C-Eur CE%sT 1945
25967  {
25968  &kZonePolicyC_Eur /*zonePolicy*/,
25969  "CE%T" /*format*/,
25970  240 /*offsetCode (3600/15)*/,
25971  0 /*offsetRemainder (3600%15)*/,
25972  0 /*deltaMinutes*/,
25973  1945 /*untilYear*/,
25974  1 /*untilMonth*/,
25975  1 /*untilDay*/,
25976  0 /*untilTimeCode (0/15)*/,
25977  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25978  },
25979  // 1:00 Hungary CE%sT 1984
25980  {
25981  &kZonePolicyHungary /*zonePolicy*/,
25982  "CE%T" /*format*/,
25983  240 /*offsetCode (3600/15)*/,
25984  0 /*offsetRemainder (3600%15)*/,
25985  0 /*deltaMinutes*/,
25986  1984 /*untilYear*/,
25987  1 /*untilMonth*/,
25988  1 /*untilDay*/,
25989  0 /*untilTimeCode (0/15)*/,
25990  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
25991  },
25992  // 1:00 EU CE%sT
25993  {
25994  &kZonePolicyEU /*zonePolicy*/,
25995  "CE%T" /*format*/,
25996  240 /*offsetCode (3600/15)*/,
25997  0 /*offsetRemainder (3600%15)*/,
25998  0 /*deltaMinutes*/,
25999  32767 /*untilYear*/,
26000  1 /*untilMonth*/,
26001  1 /*untilDay*/,
26002  0 /*untilTimeCode (0/15)*/,
26003  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26004  },
26005 
26006 };
26007 
26008 static const char kZoneNameEurope_Budapest[] ACE_TIME_PROGMEM = "\x0b" "Budapest";
26009 
26010 const complete::ZoneInfo kZoneEurope_Budapest ACE_TIME_PROGMEM = {
26011  kZoneNameEurope_Budapest /*name*/,
26012  0x9ce0197c /*zoneId*/,
26013  &kZoneContext /*zoneContext*/,
26014  6 /*numEras*/,
26015  kZoneEraEurope_Budapest /*eras*/,
26016  nullptr /*targetInfo*/,
26017 };
26018 
26019 //---------------------------------------------------------------------------
26020 // Zone name: Europe/Chisinau
26021 // Eras: 10
26022 //---------------------------------------------------------------------------
26023 
26024 static const complete::ZoneEra kZoneEraEurope_Chisinau[] ACE_TIME_PROGMEM = {
26025  // 1:55:20 - LMT 1880
26026  {
26027  nullptr /*zonePolicy*/,
26028  "LMT" /*format*/,
26029  461 /*offsetCode (6920/15)*/,
26030  5 /*offsetRemainder (6920%15)*/,
26031  0 /*deltaMinutes*/,
26032  1880 /*untilYear*/,
26033  1 /*untilMonth*/,
26034  1 /*untilDay*/,
26035  0 /*untilTimeCode (0/15)*/,
26036  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26037  },
26038  // 1:55 - CMT 1918 Feb 15
26039  {
26040  nullptr /*zonePolicy*/,
26041  "CMT" /*format*/,
26042  460 /*offsetCode (6900/15)*/,
26043  0 /*offsetRemainder (6900%15)*/,
26044  0 /*deltaMinutes*/,
26045  1918 /*untilYear*/,
26046  2 /*untilMonth*/,
26047  15 /*untilDay*/,
26048  0 /*untilTimeCode (0/15)*/,
26049  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26050  },
26051  // 1:44:24 - BMT 1931 Jul 24
26052  {
26053  nullptr /*zonePolicy*/,
26054  "BMT" /*format*/,
26055  417 /*offsetCode (6264/15)*/,
26056  9 /*offsetRemainder (6264%15)*/,
26057  0 /*deltaMinutes*/,
26058  1931 /*untilYear*/,
26059  7 /*untilMonth*/,
26060  24 /*untilDay*/,
26061  0 /*untilTimeCode (0/15)*/,
26062  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26063  },
26064  // 2:00 Romania EE%sT 1940 Aug 15
26065  {
26066  &kZonePolicyRomania /*zonePolicy*/,
26067  "EE%T" /*format*/,
26068  480 /*offsetCode (7200/15)*/,
26069  0 /*offsetRemainder (7200%15)*/,
26070  0 /*deltaMinutes*/,
26071  1940 /*untilYear*/,
26072  8 /*untilMonth*/,
26073  15 /*untilDay*/,
26074  0 /*untilTimeCode (0/15)*/,
26075  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26076  },
26077  // 2:00 1:00 EEST 1941 Jul 17
26078  {
26079  nullptr /*zonePolicy*/,
26080  "EEST" /*format*/,
26081  480 /*offsetCode (7200/15)*/,
26082  0 /*offsetRemainder (7200%15)*/,
26083  60 /*deltaMinutes*/,
26084  1941 /*untilYear*/,
26085  7 /*untilMonth*/,
26086  17 /*untilDay*/,
26087  0 /*untilTimeCode (0/15)*/,
26088  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26089  },
26090  // 1:00 C-Eur CE%sT 1944 Aug 24
26091  {
26092  &kZonePolicyC_Eur /*zonePolicy*/,
26093  "CE%T" /*format*/,
26094  240 /*offsetCode (3600/15)*/,
26095  0 /*offsetRemainder (3600%15)*/,
26096  0 /*deltaMinutes*/,
26097  1944 /*untilYear*/,
26098  8 /*untilMonth*/,
26099  24 /*untilDay*/,
26100  0 /*untilTimeCode (0/15)*/,
26101  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26102  },
26103  // 3:00 Russia MSK/MSD 1990 May 6 2:00
26104  {
26105  &kZonePolicyRussia /*zonePolicy*/,
26106  "MSK/MSD" /*format*/,
26107  720 /*offsetCode (10800/15)*/,
26108  0 /*offsetRemainder (10800%15)*/,
26109  0 /*deltaMinutes*/,
26110  1990 /*untilYear*/,
26111  5 /*untilMonth*/,
26112  6 /*untilDay*/,
26113  480 /*untilTimeCode (7200/15)*/,
26114  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26115  },
26116  // 2:00 Russia EE%sT 1992
26117  {
26118  &kZonePolicyRussia /*zonePolicy*/,
26119  "EE%T" /*format*/,
26120  480 /*offsetCode (7200/15)*/,
26121  0 /*offsetRemainder (7200%15)*/,
26122  0 /*deltaMinutes*/,
26123  1992 /*untilYear*/,
26124  1 /*untilMonth*/,
26125  1 /*untilDay*/,
26126  0 /*untilTimeCode (0/15)*/,
26127  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26128  },
26129  // 2:00 E-Eur EE%sT 1997
26130  {
26131  &kZonePolicyE_Eur /*zonePolicy*/,
26132  "EE%T" /*format*/,
26133  480 /*offsetCode (7200/15)*/,
26134  0 /*offsetRemainder (7200%15)*/,
26135  0 /*deltaMinutes*/,
26136  1997 /*untilYear*/,
26137  1 /*untilMonth*/,
26138  1 /*untilDay*/,
26139  0 /*untilTimeCode (0/15)*/,
26140  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26141  },
26142  // 2:00 Moldova EE%sT
26143  {
26144  &kZonePolicyMoldova /*zonePolicy*/,
26145  "EE%T" /*format*/,
26146  480 /*offsetCode (7200/15)*/,
26147  0 /*offsetRemainder (7200%15)*/,
26148  0 /*deltaMinutes*/,
26149  32767 /*untilYear*/,
26150  1 /*untilMonth*/,
26151  1 /*untilDay*/,
26152  0 /*untilTimeCode (0/15)*/,
26153  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26154  },
26155 
26156 };
26157 
26158 static const char kZoneNameEurope_Chisinau[] ACE_TIME_PROGMEM = "\x0b" "Chisinau";
26159 
26160 const complete::ZoneInfo kZoneEurope_Chisinau ACE_TIME_PROGMEM = {
26161  kZoneNameEurope_Chisinau /*name*/,
26162  0xad58aa18 /*zoneId*/,
26163  &kZoneContext /*zoneContext*/,
26164  10 /*numEras*/,
26165  kZoneEraEurope_Chisinau /*eras*/,
26166  nullptr /*targetInfo*/,
26167 };
26168 
26169 //---------------------------------------------------------------------------
26170 // Zone name: Europe/Dublin
26171 // Eras: 11
26172 //---------------------------------------------------------------------------
26173 
26174 static const complete::ZoneEra kZoneEraEurope_Dublin[] ACE_TIME_PROGMEM = {
26175  // -0:25:21 - LMT 1880 Aug 2
26176  {
26177  nullptr /*zonePolicy*/,
26178  "LMT" /*format*/,
26179  -102 /*offsetCode (-1521/15)*/,
26180  9 /*offsetRemainder (-1521%15)*/,
26181  0 /*deltaMinutes*/,
26182  1880 /*untilYear*/,
26183  8 /*untilMonth*/,
26184  2 /*untilDay*/,
26185  0 /*untilTimeCode (0/15)*/,
26186  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26187  },
26188  // -0:25:21 - DMT 1916 May 21 2:00s
26189  {
26190  nullptr /*zonePolicy*/,
26191  "DMT" /*format*/,
26192  -102 /*offsetCode (-1521/15)*/,
26193  9 /*offsetRemainder (-1521%15)*/,
26194  0 /*deltaMinutes*/,
26195  1916 /*untilYear*/,
26196  5 /*untilMonth*/,
26197  21 /*untilDay*/,
26198  480 /*untilTimeCode (7200/15)*/,
26199  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26200  },
26201  // -0:25:21 1:00 IST 1916 Oct 1 2:00s
26202  {
26203  nullptr /*zonePolicy*/,
26204  "IST" /*format*/,
26205  -102 /*offsetCode (-1521/15)*/,
26206  9 /*offsetRemainder (-1521%15)*/,
26207  60 /*deltaMinutes*/,
26208  1916 /*untilYear*/,
26209  10 /*untilMonth*/,
26210  1 /*untilDay*/,
26211  480 /*untilTimeCode (7200/15)*/,
26212  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26213  },
26214  // 0:00 GB-Eire %s 1921 Dec 6
26215  {
26216  &kZonePolicyGB_Eire /*zonePolicy*/,
26217  "%" /*format*/,
26218  0 /*offsetCode (0/15)*/,
26219  0 /*offsetRemainder (0%15)*/,
26220  0 /*deltaMinutes*/,
26221  1921 /*untilYear*/,
26222  12 /*untilMonth*/,
26223  6 /*untilDay*/,
26224  0 /*untilTimeCode (0/15)*/,
26225  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26226  },
26227  // 0:00 GB-Eire GMT/IST 1940 Feb 25 2:00s
26228  {
26229  &kZonePolicyGB_Eire /*zonePolicy*/,
26230  "GMT/IST" /*format*/,
26231  0 /*offsetCode (0/15)*/,
26232  0 /*offsetRemainder (0%15)*/,
26233  0 /*deltaMinutes*/,
26234  1940 /*untilYear*/,
26235  2 /*untilMonth*/,
26236  25 /*untilDay*/,
26237  480 /*untilTimeCode (7200/15)*/,
26238  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26239  },
26240  // 0:00 1:00 IST 1946 Oct 6 2:00s
26241  {
26242  nullptr /*zonePolicy*/,
26243  "IST" /*format*/,
26244  0 /*offsetCode (0/15)*/,
26245  0 /*offsetRemainder (0%15)*/,
26246  60 /*deltaMinutes*/,
26247  1946 /*untilYear*/,
26248  10 /*untilMonth*/,
26249  6 /*untilDay*/,
26250  480 /*untilTimeCode (7200/15)*/,
26251  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26252  },
26253  // 0:00 - GMT 1947 Mar 16 2:00s
26254  {
26255  nullptr /*zonePolicy*/,
26256  "GMT" /*format*/,
26257  0 /*offsetCode (0/15)*/,
26258  0 /*offsetRemainder (0%15)*/,
26259  0 /*deltaMinutes*/,
26260  1947 /*untilYear*/,
26261  3 /*untilMonth*/,
26262  16 /*untilDay*/,
26263  480 /*untilTimeCode (7200/15)*/,
26264  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26265  },
26266  // 0:00 1:00 IST 1947 Nov 2 2:00s
26267  {
26268  nullptr /*zonePolicy*/,
26269  "IST" /*format*/,
26270  0 /*offsetCode (0/15)*/,
26271  0 /*offsetRemainder (0%15)*/,
26272  60 /*deltaMinutes*/,
26273  1947 /*untilYear*/,
26274  11 /*untilMonth*/,
26275  2 /*untilDay*/,
26276  480 /*untilTimeCode (7200/15)*/,
26277  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26278  },
26279  // 0:00 - GMT 1948 Apr 18 2:00s
26280  {
26281  nullptr /*zonePolicy*/,
26282  "GMT" /*format*/,
26283  0 /*offsetCode (0/15)*/,
26284  0 /*offsetRemainder (0%15)*/,
26285  0 /*deltaMinutes*/,
26286  1948 /*untilYear*/,
26287  4 /*untilMonth*/,
26288  18 /*untilDay*/,
26289  480 /*untilTimeCode (7200/15)*/,
26290  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26291  },
26292  // 0:00 GB-Eire GMT/IST 1968 Oct 27
26293  {
26294  &kZonePolicyGB_Eire /*zonePolicy*/,
26295  "GMT/IST" /*format*/,
26296  0 /*offsetCode (0/15)*/,
26297  0 /*offsetRemainder (0%15)*/,
26298  0 /*deltaMinutes*/,
26299  1968 /*untilYear*/,
26300  10 /*untilMonth*/,
26301  27 /*untilDay*/,
26302  0 /*untilTimeCode (0/15)*/,
26303  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26304  },
26305  // 1:00 Eire IST/GMT
26306  {
26307  &kZonePolicyEire /*zonePolicy*/,
26308  "IST/GMT" /*format*/,
26309  240 /*offsetCode (3600/15)*/,
26310  0 /*offsetRemainder (3600%15)*/,
26311  0 /*deltaMinutes*/,
26312  32767 /*untilYear*/,
26313  1 /*untilMonth*/,
26314  1 /*untilDay*/,
26315  0 /*untilTimeCode (0/15)*/,
26316  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26317  },
26318 
26319 };
26320 
26321 static const char kZoneNameEurope_Dublin[] ACE_TIME_PROGMEM = "\x0b" "Dublin";
26322 
26323 const complete::ZoneInfo kZoneEurope_Dublin ACE_TIME_PROGMEM = {
26324  kZoneNameEurope_Dublin /*name*/,
26325  0x4a275f62 /*zoneId*/,
26326  &kZoneContext /*zoneContext*/,
26327  11 /*numEras*/,
26328  kZoneEraEurope_Dublin /*eras*/,
26329  nullptr /*targetInfo*/,
26330 };
26331 
26332 //---------------------------------------------------------------------------
26333 // Zone name: Europe/Gibraltar
26334 // Eras: 4
26335 //---------------------------------------------------------------------------
26336 
26337 static const complete::ZoneEra kZoneEraEurope_Gibraltar[] ACE_TIME_PROGMEM = {
26338  // -0:21:24 - LMT 1880 Aug 2
26339  {
26340  nullptr /*zonePolicy*/,
26341  "LMT" /*format*/,
26342  -86 /*offsetCode (-1284/15)*/,
26343  6 /*offsetRemainder (-1284%15)*/,
26344  0 /*deltaMinutes*/,
26345  1880 /*untilYear*/,
26346  8 /*untilMonth*/,
26347  2 /*untilDay*/,
26348  0 /*untilTimeCode (0/15)*/,
26349  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26350  },
26351  // 0:00 GB-Eire %s 1957 Apr 14 2:00
26352  {
26353  &kZonePolicyGB_Eire /*zonePolicy*/,
26354  "%" /*format*/,
26355  0 /*offsetCode (0/15)*/,
26356  0 /*offsetRemainder (0%15)*/,
26357  0 /*deltaMinutes*/,
26358  1957 /*untilYear*/,
26359  4 /*untilMonth*/,
26360  14 /*untilDay*/,
26361  480 /*untilTimeCode (7200/15)*/,
26362  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26363  },
26364  // 1:00 - CET 1982
26365  {
26366  nullptr /*zonePolicy*/,
26367  "CET" /*format*/,
26368  240 /*offsetCode (3600/15)*/,
26369  0 /*offsetRemainder (3600%15)*/,
26370  0 /*deltaMinutes*/,
26371  1982 /*untilYear*/,
26372  1 /*untilMonth*/,
26373  1 /*untilDay*/,
26374  0 /*untilTimeCode (0/15)*/,
26375  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26376  },
26377  // 1:00 EU CE%sT
26378  {
26379  &kZonePolicyEU /*zonePolicy*/,
26380  "CE%T" /*format*/,
26381  240 /*offsetCode (3600/15)*/,
26382  0 /*offsetRemainder (3600%15)*/,
26383  0 /*deltaMinutes*/,
26384  32767 /*untilYear*/,
26385  1 /*untilMonth*/,
26386  1 /*untilDay*/,
26387  0 /*untilTimeCode (0/15)*/,
26388  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26389  },
26390 
26391 };
26392 
26393 static const char kZoneNameEurope_Gibraltar[] ACE_TIME_PROGMEM = "\x0b" "Gibraltar";
26394 
26395 const complete::ZoneInfo kZoneEurope_Gibraltar ACE_TIME_PROGMEM = {
26396  kZoneNameEurope_Gibraltar /*name*/,
26397  0xf8e325fc /*zoneId*/,
26398  &kZoneContext /*zoneContext*/,
26399  4 /*numEras*/,
26400  kZoneEraEurope_Gibraltar /*eras*/,
26401  nullptr /*targetInfo*/,
26402 };
26403 
26404 //---------------------------------------------------------------------------
26405 // Zone name: Europe/Helsinki
26406 // Eras: 4
26407 //---------------------------------------------------------------------------
26408 
26409 static const complete::ZoneEra kZoneEraEurope_Helsinki[] ACE_TIME_PROGMEM = {
26410  // 1:39:49 - LMT 1878 May 31
26411  {
26412  nullptr /*zonePolicy*/,
26413  "LMT" /*format*/,
26414  399 /*offsetCode (5989/15)*/,
26415  4 /*offsetRemainder (5989%15)*/,
26416  0 /*deltaMinutes*/,
26417  1878 /*untilYear*/,
26418  5 /*untilMonth*/,
26419  31 /*untilDay*/,
26420  0 /*untilTimeCode (0/15)*/,
26421  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26422  },
26423  // 1:39:49 - HMT 1921 May
26424  {
26425  nullptr /*zonePolicy*/,
26426  "HMT" /*format*/,
26427  399 /*offsetCode (5989/15)*/,
26428  4 /*offsetRemainder (5989%15)*/,
26429  0 /*deltaMinutes*/,
26430  1921 /*untilYear*/,
26431  5 /*untilMonth*/,
26432  1 /*untilDay*/,
26433  0 /*untilTimeCode (0/15)*/,
26434  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26435  },
26436  // 2:00 Finland EE%sT 1983
26437  {
26438  &kZonePolicyFinland /*zonePolicy*/,
26439  "EE%T" /*format*/,
26440  480 /*offsetCode (7200/15)*/,
26441  0 /*offsetRemainder (7200%15)*/,
26442  0 /*deltaMinutes*/,
26443  1983 /*untilYear*/,
26444  1 /*untilMonth*/,
26445  1 /*untilDay*/,
26446  0 /*untilTimeCode (0/15)*/,
26447  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26448  },
26449  // 2:00 EU EE%sT
26450  {
26451  &kZonePolicyEU /*zonePolicy*/,
26452  "EE%T" /*format*/,
26453  480 /*offsetCode (7200/15)*/,
26454  0 /*offsetRemainder (7200%15)*/,
26455  0 /*deltaMinutes*/,
26456  32767 /*untilYear*/,
26457  1 /*untilMonth*/,
26458  1 /*untilDay*/,
26459  0 /*untilTimeCode (0/15)*/,
26460  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26461  },
26462 
26463 };
26464 
26465 static const char kZoneNameEurope_Helsinki[] ACE_TIME_PROGMEM = "\x0b" "Helsinki";
26466 
26467 const complete::ZoneInfo kZoneEurope_Helsinki ACE_TIME_PROGMEM = {
26468  kZoneNameEurope_Helsinki /*name*/,
26469  0x6ab2975b /*zoneId*/,
26470  &kZoneContext /*zoneContext*/,
26471  4 /*numEras*/,
26472  kZoneEraEurope_Helsinki /*eras*/,
26473  nullptr /*targetInfo*/,
26474 };
26475 
26476 //---------------------------------------------------------------------------
26477 // Zone name: Europe/Istanbul
26478 // Eras: 13
26479 //---------------------------------------------------------------------------
26480 
26481 static const complete::ZoneEra kZoneEraEurope_Istanbul[] ACE_TIME_PROGMEM = {
26482  // 1:55:52 - LMT 1880
26483  {
26484  nullptr /*zonePolicy*/,
26485  "LMT" /*format*/,
26486  463 /*offsetCode (6952/15)*/,
26487  7 /*offsetRemainder (6952%15)*/,
26488  0 /*deltaMinutes*/,
26489  1880 /*untilYear*/,
26490  1 /*untilMonth*/,
26491  1 /*untilDay*/,
26492  0 /*untilTimeCode (0/15)*/,
26493  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26494  },
26495  // 1:56:56 - IMT 1910 Oct
26496  {
26497  nullptr /*zonePolicy*/,
26498  "IMT" /*format*/,
26499  467 /*offsetCode (7016/15)*/,
26500  11 /*offsetRemainder (7016%15)*/,
26501  0 /*deltaMinutes*/,
26502  1910 /*untilYear*/,
26503  10 /*untilMonth*/,
26504  1 /*untilDay*/,
26505  0 /*untilTimeCode (0/15)*/,
26506  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26507  },
26508  // 2:00 Turkey EE%sT 1978 Jun 29
26509  {
26510  &kZonePolicyTurkey /*zonePolicy*/,
26511  "EE%T" /*format*/,
26512  480 /*offsetCode (7200/15)*/,
26513  0 /*offsetRemainder (7200%15)*/,
26514  0 /*deltaMinutes*/,
26515  1978 /*untilYear*/,
26516  6 /*untilMonth*/,
26517  29 /*untilDay*/,
26518  0 /*untilTimeCode (0/15)*/,
26519  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26520  },
26521  // 3:00 Turkey %z 1984 Nov 1 2:00
26522  {
26523  &kZonePolicyTurkey /*zonePolicy*/,
26524  "" /*format*/,
26525  720 /*offsetCode (10800/15)*/,
26526  0 /*offsetRemainder (10800%15)*/,
26527  0 /*deltaMinutes*/,
26528  1984 /*untilYear*/,
26529  11 /*untilMonth*/,
26530  1 /*untilDay*/,
26531  480 /*untilTimeCode (7200/15)*/,
26532  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26533  },
26534  // 2:00 Turkey EE%sT 2007
26535  {
26536  &kZonePolicyTurkey /*zonePolicy*/,
26537  "EE%T" /*format*/,
26538  480 /*offsetCode (7200/15)*/,
26539  0 /*offsetRemainder (7200%15)*/,
26540  0 /*deltaMinutes*/,
26541  2007 /*untilYear*/,
26542  1 /*untilMonth*/,
26543  1 /*untilDay*/,
26544  0 /*untilTimeCode (0/15)*/,
26545  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26546  },
26547  // 2:00 EU EE%sT 2011 Mar 27 1:00u
26548  {
26549  &kZonePolicyEU /*zonePolicy*/,
26550  "EE%T" /*format*/,
26551  480 /*offsetCode (7200/15)*/,
26552  0 /*offsetRemainder (7200%15)*/,
26553  0 /*deltaMinutes*/,
26554  2011 /*untilYear*/,
26555  3 /*untilMonth*/,
26556  27 /*untilDay*/,
26557  240 /*untilTimeCode (3600/15)*/,
26558  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26559  },
26560  // 2:00 - EET 2011 Mar 28 1:00u
26561  {
26562  nullptr /*zonePolicy*/,
26563  "EET" /*format*/,
26564  480 /*offsetCode (7200/15)*/,
26565  0 /*offsetRemainder (7200%15)*/,
26566  0 /*deltaMinutes*/,
26567  2011 /*untilYear*/,
26568  3 /*untilMonth*/,
26569  28 /*untilDay*/,
26570  240 /*untilTimeCode (3600/15)*/,
26571  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26572  },
26573  // 2:00 EU EE%sT 2014 Mar 30 1:00u
26574  {
26575  &kZonePolicyEU /*zonePolicy*/,
26576  "EE%T" /*format*/,
26577  480 /*offsetCode (7200/15)*/,
26578  0 /*offsetRemainder (7200%15)*/,
26579  0 /*deltaMinutes*/,
26580  2014 /*untilYear*/,
26581  3 /*untilMonth*/,
26582  30 /*untilDay*/,
26583  240 /*untilTimeCode (3600/15)*/,
26584  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26585  },
26586  // 2:00 - EET 2014 Mar 31 1:00u
26587  {
26588  nullptr /*zonePolicy*/,
26589  "EET" /*format*/,
26590  480 /*offsetCode (7200/15)*/,
26591  0 /*offsetRemainder (7200%15)*/,
26592  0 /*deltaMinutes*/,
26593  2014 /*untilYear*/,
26594  3 /*untilMonth*/,
26595  31 /*untilDay*/,
26596  240 /*untilTimeCode (3600/15)*/,
26597  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26598  },
26599  // 2:00 EU EE%sT 2015 Oct 25 1:00u
26600  {
26601  &kZonePolicyEU /*zonePolicy*/,
26602  "EE%T" /*format*/,
26603  480 /*offsetCode (7200/15)*/,
26604  0 /*offsetRemainder (7200%15)*/,
26605  0 /*deltaMinutes*/,
26606  2015 /*untilYear*/,
26607  10 /*untilMonth*/,
26608  25 /*untilDay*/,
26609  240 /*untilTimeCode (3600/15)*/,
26610  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26611  },
26612  // 2:00 1:00 EEST 2015 Nov 8 1:00u
26613  {
26614  nullptr /*zonePolicy*/,
26615  "EEST" /*format*/,
26616  480 /*offsetCode (7200/15)*/,
26617  0 /*offsetRemainder (7200%15)*/,
26618  60 /*deltaMinutes*/,
26619  2015 /*untilYear*/,
26620  11 /*untilMonth*/,
26621  8 /*untilDay*/,
26622  240 /*untilTimeCode (3600/15)*/,
26623  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26624  },
26625  // 2:00 EU EE%sT 2016 Sep 7
26626  {
26627  &kZonePolicyEU /*zonePolicy*/,
26628  "EE%T" /*format*/,
26629  480 /*offsetCode (7200/15)*/,
26630  0 /*offsetRemainder (7200%15)*/,
26631  0 /*deltaMinutes*/,
26632  2016 /*untilYear*/,
26633  9 /*untilMonth*/,
26634  7 /*untilDay*/,
26635  0 /*untilTimeCode (0/15)*/,
26636  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26637  },
26638  // 3:00 - %z
26639  {
26640  nullptr /*zonePolicy*/,
26641  "" /*format*/,
26642  720 /*offsetCode (10800/15)*/,
26643  0 /*offsetRemainder (10800%15)*/,
26644  0 /*deltaMinutes*/,
26645  32767 /*untilYear*/,
26646  1 /*untilMonth*/,
26647  1 /*untilDay*/,
26648  0 /*untilTimeCode (0/15)*/,
26649  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26650  },
26651 
26652 };
26653 
26654 static const char kZoneNameEurope_Istanbul[] ACE_TIME_PROGMEM = "\x0b" "Istanbul";
26655 
26656 const complete::ZoneInfo kZoneEurope_Istanbul ACE_TIME_PROGMEM = {
26657  kZoneNameEurope_Istanbul /*name*/,
26658  0x9e09d6e6 /*zoneId*/,
26659  &kZoneContext /*zoneContext*/,
26660  13 /*numEras*/,
26661  kZoneEraEurope_Istanbul /*eras*/,
26662  nullptr /*targetInfo*/,
26663 };
26664 
26665 //---------------------------------------------------------------------------
26666 // Zone name: Europe/Kaliningrad
26667 // Eras: 7
26668 //---------------------------------------------------------------------------
26669 
26670 static const complete::ZoneEra kZoneEraEurope_Kaliningrad[] ACE_TIME_PROGMEM = {
26671  // 1:22:00 - LMT 1893 Apr
26672  {
26673  nullptr /*zonePolicy*/,
26674  "LMT" /*format*/,
26675  328 /*offsetCode (4920/15)*/,
26676  0 /*offsetRemainder (4920%15)*/,
26677  0 /*deltaMinutes*/,
26678  1893 /*untilYear*/,
26679  4 /*untilMonth*/,
26680  1 /*untilDay*/,
26681  0 /*untilTimeCode (0/15)*/,
26682  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26683  },
26684  // 1:00 C-Eur CE%sT 1945 Apr 10
26685  {
26686  &kZonePolicyC_Eur /*zonePolicy*/,
26687  "CE%T" /*format*/,
26688  240 /*offsetCode (3600/15)*/,
26689  0 /*offsetRemainder (3600%15)*/,
26690  0 /*deltaMinutes*/,
26691  1945 /*untilYear*/,
26692  4 /*untilMonth*/,
26693  10 /*untilDay*/,
26694  0 /*untilTimeCode (0/15)*/,
26695  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26696  },
26697  // 2:00 Poland EE%sT 1946 Apr 7
26698  {
26699  &kZonePolicyPoland /*zonePolicy*/,
26700  "EE%T" /*format*/,
26701  480 /*offsetCode (7200/15)*/,
26702  0 /*offsetRemainder (7200%15)*/,
26703  0 /*deltaMinutes*/,
26704  1946 /*untilYear*/,
26705  4 /*untilMonth*/,
26706  7 /*untilDay*/,
26707  0 /*untilTimeCode (0/15)*/,
26708  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26709  },
26710  // 3:00 Russia MSK/MSD 1989 Mar 26 2:00s
26711  {
26712  &kZonePolicyRussia /*zonePolicy*/,
26713  "MSK/MSD" /*format*/,
26714  720 /*offsetCode (10800/15)*/,
26715  0 /*offsetRemainder (10800%15)*/,
26716  0 /*deltaMinutes*/,
26717  1989 /*untilYear*/,
26718  3 /*untilMonth*/,
26719  26 /*untilDay*/,
26720  480 /*untilTimeCode (7200/15)*/,
26721  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26722  },
26723  // 2:00 Russia EE%sT 2011 Mar 27 2:00s
26724  {
26725  &kZonePolicyRussia /*zonePolicy*/,
26726  "EE%T" /*format*/,
26727  480 /*offsetCode (7200/15)*/,
26728  0 /*offsetRemainder (7200%15)*/,
26729  0 /*deltaMinutes*/,
26730  2011 /*untilYear*/,
26731  3 /*untilMonth*/,
26732  27 /*untilDay*/,
26733  480 /*untilTimeCode (7200/15)*/,
26734  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26735  },
26736  // 3:00 - %z 2014 Oct 26 2:00s
26737  {
26738  nullptr /*zonePolicy*/,
26739  "" /*format*/,
26740  720 /*offsetCode (10800/15)*/,
26741  0 /*offsetRemainder (10800%15)*/,
26742  0 /*deltaMinutes*/,
26743  2014 /*untilYear*/,
26744  10 /*untilMonth*/,
26745  26 /*untilDay*/,
26746  480 /*untilTimeCode (7200/15)*/,
26747  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26748  },
26749  // 2:00 - EET
26750  {
26751  nullptr /*zonePolicy*/,
26752  "EET" /*format*/,
26753  480 /*offsetCode (7200/15)*/,
26754  0 /*offsetRemainder (7200%15)*/,
26755  0 /*deltaMinutes*/,
26756  32767 /*untilYear*/,
26757  1 /*untilMonth*/,
26758  1 /*untilDay*/,
26759  0 /*untilTimeCode (0/15)*/,
26760  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26761  },
26762 
26763 };
26764 
26765 static const char kZoneNameEurope_Kaliningrad[] ACE_TIME_PROGMEM = "\x0b" "Kaliningrad";
26766 
26767 const complete::ZoneInfo kZoneEurope_Kaliningrad ACE_TIME_PROGMEM = {
26768  kZoneNameEurope_Kaliningrad /*name*/,
26769  0xd33b2f28 /*zoneId*/,
26770  &kZoneContext /*zoneContext*/,
26771  7 /*numEras*/,
26772  kZoneEraEurope_Kaliningrad /*eras*/,
26773  nullptr /*targetInfo*/,
26774 };
26775 
26776 //---------------------------------------------------------------------------
26777 // Zone name: Europe/Kirov
26778 // Eras: 8
26779 //---------------------------------------------------------------------------
26780 
26781 static const complete::ZoneEra kZoneEraEurope_Kirov[] ACE_TIME_PROGMEM = {
26782  // 3:18:48 - LMT 1919 Jul 1 0:00u
26783  {
26784  nullptr /*zonePolicy*/,
26785  "LMT" /*format*/,
26786  795 /*offsetCode (11928/15)*/,
26787  3 /*offsetRemainder (11928%15)*/,
26788  0 /*deltaMinutes*/,
26789  1919 /*untilYear*/,
26790  7 /*untilMonth*/,
26791  1 /*untilDay*/,
26792  0 /*untilTimeCode (0/15)*/,
26793  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
26794  },
26795  // 3:00 - %z 1930 Jun 21
26796  {
26797  nullptr /*zonePolicy*/,
26798  "" /*format*/,
26799  720 /*offsetCode (10800/15)*/,
26800  0 /*offsetRemainder (10800%15)*/,
26801  0 /*deltaMinutes*/,
26802  1930 /*untilYear*/,
26803  6 /*untilMonth*/,
26804  21 /*untilDay*/,
26805  0 /*untilTimeCode (0/15)*/,
26806  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26807  },
26808  // 4:00 Russia %z 1989 Mar 26 2:00s
26809  {
26810  &kZonePolicyRussia /*zonePolicy*/,
26811  "" /*format*/,
26812  960 /*offsetCode (14400/15)*/,
26813  0 /*offsetRemainder (14400%15)*/,
26814  0 /*deltaMinutes*/,
26815  1989 /*untilYear*/,
26816  3 /*untilMonth*/,
26817  26 /*untilDay*/,
26818  480 /*untilTimeCode (7200/15)*/,
26819  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26820  },
26821  // 3:00 Russia MSK/MSD 1991 Mar 31 2:00s
26822  {
26823  &kZonePolicyRussia /*zonePolicy*/,
26824  "MSK/MSD" /*format*/,
26825  720 /*offsetCode (10800/15)*/,
26826  0 /*offsetRemainder (10800%15)*/,
26827  0 /*deltaMinutes*/,
26828  1991 /*untilYear*/,
26829  3 /*untilMonth*/,
26830  31 /*untilDay*/,
26831  480 /*untilTimeCode (7200/15)*/,
26832  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26833  },
26834  // 4:00 - %z 1992 Mar 29 2:00s
26835  {
26836  nullptr /*zonePolicy*/,
26837  "" /*format*/,
26838  960 /*offsetCode (14400/15)*/,
26839  0 /*offsetRemainder (14400%15)*/,
26840  0 /*deltaMinutes*/,
26841  1992 /*untilYear*/,
26842  3 /*untilMonth*/,
26843  29 /*untilDay*/,
26844  480 /*untilTimeCode (7200/15)*/,
26845  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26846  },
26847  // 3:00 Russia MSK/MSD 2011 Mar 27 2:00s
26848  {
26849  &kZonePolicyRussia /*zonePolicy*/,
26850  "MSK/MSD" /*format*/,
26851  720 /*offsetCode (10800/15)*/,
26852  0 /*offsetRemainder (10800%15)*/,
26853  0 /*deltaMinutes*/,
26854  2011 /*untilYear*/,
26855  3 /*untilMonth*/,
26856  27 /*untilDay*/,
26857  480 /*untilTimeCode (7200/15)*/,
26858  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26859  },
26860  // 4:00 - MSK 2014 Oct 26 2:00s
26861  {
26862  nullptr /*zonePolicy*/,
26863  "MSK" /*format*/,
26864  960 /*offsetCode (14400/15)*/,
26865  0 /*offsetRemainder (14400%15)*/,
26866  0 /*deltaMinutes*/,
26867  2014 /*untilYear*/,
26868  10 /*untilMonth*/,
26869  26 /*untilDay*/,
26870  480 /*untilTimeCode (7200/15)*/,
26871  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
26872  },
26873  // 3:00 - MSK
26874  {
26875  nullptr /*zonePolicy*/,
26876  "MSK" /*format*/,
26877  720 /*offsetCode (10800/15)*/,
26878  0 /*offsetRemainder (10800%15)*/,
26879  0 /*deltaMinutes*/,
26880  32767 /*untilYear*/,
26881  1 /*untilMonth*/,
26882  1 /*untilDay*/,
26883  0 /*untilTimeCode (0/15)*/,
26884  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26885  },
26886 
26887 };
26888 
26889 static const char kZoneNameEurope_Kirov[] ACE_TIME_PROGMEM = "\x0b" "Kirov";
26890 
26891 const complete::ZoneInfo kZoneEurope_Kirov ACE_TIME_PROGMEM = {
26892  kZoneNameEurope_Kirov /*name*/,
26893  0xfaf5abef /*zoneId*/,
26894  &kZoneContext /*zoneContext*/,
26895  8 /*numEras*/,
26896  kZoneEraEurope_Kirov /*eras*/,
26897  nullptr /*targetInfo*/,
26898 };
26899 
26900 //---------------------------------------------------------------------------
26901 // Zone name: Europe/Kyiv
26902 // Eras: 9
26903 //---------------------------------------------------------------------------
26904 
26905 static const complete::ZoneEra kZoneEraEurope_Kyiv[] ACE_TIME_PROGMEM = {
26906  // 2:02:04 - LMT 1880
26907  {
26908  nullptr /*zonePolicy*/,
26909  "LMT" /*format*/,
26910  488 /*offsetCode (7324/15)*/,
26911  4 /*offsetRemainder (7324%15)*/,
26912  0 /*deltaMinutes*/,
26913  1880 /*untilYear*/,
26914  1 /*untilMonth*/,
26915  1 /*untilDay*/,
26916  0 /*untilTimeCode (0/15)*/,
26917  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26918  },
26919  // 2:02:04 - KMT 1924 May 2
26920  {
26921  nullptr /*zonePolicy*/,
26922  "KMT" /*format*/,
26923  488 /*offsetCode (7324/15)*/,
26924  4 /*offsetRemainder (7324%15)*/,
26925  0 /*deltaMinutes*/,
26926  1924 /*untilYear*/,
26927  5 /*untilMonth*/,
26928  2 /*untilDay*/,
26929  0 /*untilTimeCode (0/15)*/,
26930  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26931  },
26932  // 2:00 - EET 1930 Jun 21
26933  {
26934  nullptr /*zonePolicy*/,
26935  "EET" /*format*/,
26936  480 /*offsetCode (7200/15)*/,
26937  0 /*offsetRemainder (7200%15)*/,
26938  0 /*deltaMinutes*/,
26939  1930 /*untilYear*/,
26940  6 /*untilMonth*/,
26941  21 /*untilDay*/,
26942  0 /*untilTimeCode (0/15)*/,
26943  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26944  },
26945  // 3:00 - MSK 1941 Sep 20
26946  {
26947  nullptr /*zonePolicy*/,
26948  "MSK" /*format*/,
26949  720 /*offsetCode (10800/15)*/,
26950  0 /*offsetRemainder (10800%15)*/,
26951  0 /*deltaMinutes*/,
26952  1941 /*untilYear*/,
26953  9 /*untilMonth*/,
26954  20 /*untilDay*/,
26955  0 /*untilTimeCode (0/15)*/,
26956  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26957  },
26958  // 1:00 C-Eur CE%sT 1943 Nov 6
26959  {
26960  &kZonePolicyC_Eur /*zonePolicy*/,
26961  "CE%T" /*format*/,
26962  240 /*offsetCode (3600/15)*/,
26963  0 /*offsetRemainder (3600%15)*/,
26964  0 /*deltaMinutes*/,
26965  1943 /*untilYear*/,
26966  11 /*untilMonth*/,
26967  6 /*untilDay*/,
26968  0 /*untilTimeCode (0/15)*/,
26969  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26970  },
26971  // 3:00 Russia MSK/MSD 1990 Jul 1 2:00
26972  {
26973  &kZonePolicyRussia /*zonePolicy*/,
26974  "MSK/MSD" /*format*/,
26975  720 /*offsetCode (10800/15)*/,
26976  0 /*offsetRemainder (10800%15)*/,
26977  0 /*deltaMinutes*/,
26978  1990 /*untilYear*/,
26979  7 /*untilMonth*/,
26980  1 /*untilDay*/,
26981  480 /*untilTimeCode (7200/15)*/,
26982  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26983  },
26984  // 2:00 1:00 EEST 1991 Sep 29 3:00
26985  {
26986  nullptr /*zonePolicy*/,
26987  "EEST" /*format*/,
26988  480 /*offsetCode (7200/15)*/,
26989  0 /*offsetRemainder (7200%15)*/,
26990  60 /*deltaMinutes*/,
26991  1991 /*untilYear*/,
26992  9 /*untilMonth*/,
26993  29 /*untilDay*/,
26994  720 /*untilTimeCode (10800/15)*/,
26995  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
26996  },
26997  // 2:00 C-Eur EE%sT 1996 May 13
26998  {
26999  &kZonePolicyC_Eur /*zonePolicy*/,
27000  "EE%T" /*format*/,
27001  480 /*offsetCode (7200/15)*/,
27002  0 /*offsetRemainder (7200%15)*/,
27003  0 /*deltaMinutes*/,
27004  1996 /*untilYear*/,
27005  5 /*untilMonth*/,
27006  13 /*untilDay*/,
27007  0 /*untilTimeCode (0/15)*/,
27008  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27009  },
27010  // 2:00 EU EE%sT
27011  {
27012  &kZonePolicyEU /*zonePolicy*/,
27013  "EE%T" /*format*/,
27014  480 /*offsetCode (7200/15)*/,
27015  0 /*offsetRemainder (7200%15)*/,
27016  0 /*deltaMinutes*/,
27017  32767 /*untilYear*/,
27018  1 /*untilMonth*/,
27019  1 /*untilDay*/,
27020  0 /*untilTimeCode (0/15)*/,
27021  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27022  },
27023 
27024 };
27025 
27026 static const char kZoneNameEurope_Kyiv[] ACE_TIME_PROGMEM = "\x0b" "Kyiv";
27027 
27028 const complete::ZoneInfo kZoneEurope_Kyiv ACE_TIME_PROGMEM = {
27029  kZoneNameEurope_Kyiv /*name*/,
27030  0xa2c1e347 /*zoneId*/,
27031  &kZoneContext /*zoneContext*/,
27032  9 /*numEras*/,
27033  kZoneEraEurope_Kyiv /*eras*/,
27034  nullptr /*targetInfo*/,
27035 };
27036 
27037 //---------------------------------------------------------------------------
27038 // Zone name: Europe/Lisbon
27039 // Eras: 8
27040 //---------------------------------------------------------------------------
27041 
27042 static const complete::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = {
27043  // -0:36:45 - LMT 1884
27044  {
27045  nullptr /*zonePolicy*/,
27046  "LMT" /*format*/,
27047  -147 /*offsetCode (-2205/15)*/,
27048  0 /*offsetRemainder (-2205%15)*/,
27049  0 /*deltaMinutes*/,
27050  1884 /*untilYear*/,
27051  1 /*untilMonth*/,
27052  1 /*untilDay*/,
27053  0 /*untilTimeCode (0/15)*/,
27054  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27055  },
27056  // -0:36:45 - LMT 1912 Jan 1 0:00u
27057  {
27058  nullptr /*zonePolicy*/,
27059  "LMT" /*format*/,
27060  -147 /*offsetCode (-2205/15)*/,
27061  0 /*offsetRemainder (-2205%15)*/,
27062  0 /*deltaMinutes*/,
27063  1912 /*untilYear*/,
27064  1 /*untilMonth*/,
27065  1 /*untilDay*/,
27066  0 /*untilTimeCode (0/15)*/,
27067  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27068  },
27069  // 0:00 Port WE%sT 1966 Oct 2 2:00s
27070  {
27071  &kZonePolicyPort /*zonePolicy*/,
27072  "WE%T" /*format*/,
27073  0 /*offsetCode (0/15)*/,
27074  0 /*offsetRemainder (0%15)*/,
27075  0 /*deltaMinutes*/,
27076  1966 /*untilYear*/,
27077  10 /*untilMonth*/,
27078  2 /*untilDay*/,
27079  480 /*untilTimeCode (7200/15)*/,
27080  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27081  },
27082  // 1:00 - CET 1976 Sep 26 1:00
27083  {
27084  nullptr /*zonePolicy*/,
27085  "CET" /*format*/,
27086  240 /*offsetCode (3600/15)*/,
27087  0 /*offsetRemainder (3600%15)*/,
27088  0 /*deltaMinutes*/,
27089  1976 /*untilYear*/,
27090  9 /*untilMonth*/,
27091  26 /*untilDay*/,
27092  240 /*untilTimeCode (3600/15)*/,
27093  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27094  },
27095  // 0:00 Port WE%sT 1986
27096  {
27097  &kZonePolicyPort /*zonePolicy*/,
27098  "WE%T" /*format*/,
27099  0 /*offsetCode (0/15)*/,
27100  0 /*offsetRemainder (0%15)*/,
27101  0 /*deltaMinutes*/,
27102  1986 /*untilYear*/,
27103  1 /*untilMonth*/,
27104  1 /*untilDay*/,
27105  0 /*untilTimeCode (0/15)*/,
27106  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27107  },
27108  // 0:00 EU WE%sT 1992 Sep 27 1:00u
27109  {
27110  &kZonePolicyEU /*zonePolicy*/,
27111  "WE%T" /*format*/,
27112  0 /*offsetCode (0/15)*/,
27113  0 /*offsetRemainder (0%15)*/,
27114  0 /*deltaMinutes*/,
27115  1992 /*untilYear*/,
27116  9 /*untilMonth*/,
27117  27 /*untilDay*/,
27118  240 /*untilTimeCode (3600/15)*/,
27119  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27120  },
27121  // 1:00 EU CE%sT 1996 Mar 31 1:00u
27122  {
27123  &kZonePolicyEU /*zonePolicy*/,
27124  "CE%T" /*format*/,
27125  240 /*offsetCode (3600/15)*/,
27126  0 /*offsetRemainder (3600%15)*/,
27127  0 /*deltaMinutes*/,
27128  1996 /*untilYear*/,
27129  3 /*untilMonth*/,
27130  31 /*untilDay*/,
27131  240 /*untilTimeCode (3600/15)*/,
27132  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27133  },
27134  // 0:00 EU WE%sT
27135  {
27136  &kZonePolicyEU /*zonePolicy*/,
27137  "WE%T" /*format*/,
27138  0 /*offsetCode (0/15)*/,
27139  0 /*offsetRemainder (0%15)*/,
27140  0 /*deltaMinutes*/,
27141  32767 /*untilYear*/,
27142  1 /*untilMonth*/,
27143  1 /*untilDay*/,
27144  0 /*untilTimeCode (0/15)*/,
27145  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27146  },
27147 
27148 };
27149 
27150 static const char kZoneNameEurope_Lisbon[] ACE_TIME_PROGMEM = "\x0b" "Lisbon";
27151 
27152 const complete::ZoneInfo kZoneEurope_Lisbon ACE_TIME_PROGMEM = {
27153  kZoneNameEurope_Lisbon /*name*/,
27154  0x5c00a70b /*zoneId*/,
27155  &kZoneContext /*zoneContext*/,
27156  8 /*numEras*/,
27157  kZoneEraEurope_Lisbon /*eras*/,
27158  nullptr /*targetInfo*/,
27159 };
27160 
27161 //---------------------------------------------------------------------------
27162 // Zone name: Europe/London
27163 // Eras: 5
27164 //---------------------------------------------------------------------------
27165 
27166 static const complete::ZoneEra kZoneEraEurope_London[] ACE_TIME_PROGMEM = {
27167  // -0:01:15 - LMT 1847 Dec 1
27168  {
27169  nullptr /*zonePolicy*/,
27170  "LMT" /*format*/,
27171  -5 /*offsetCode (-75/15)*/,
27172  0 /*offsetRemainder (-75%15)*/,
27173  0 /*deltaMinutes*/,
27174  1847 /*untilYear*/,
27175  12 /*untilMonth*/,
27176  1 /*untilDay*/,
27177  0 /*untilTimeCode (0/15)*/,
27178  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27179  },
27180  // 0:00 GB-Eire %s 1968 Oct 27
27181  {
27182  &kZonePolicyGB_Eire /*zonePolicy*/,
27183  "%" /*format*/,
27184  0 /*offsetCode (0/15)*/,
27185  0 /*offsetRemainder (0%15)*/,
27186  0 /*deltaMinutes*/,
27187  1968 /*untilYear*/,
27188  10 /*untilMonth*/,
27189  27 /*untilDay*/,
27190  0 /*untilTimeCode (0/15)*/,
27191  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27192  },
27193  // 1:00 - BST 1971 Oct 31 2:00u
27194  {
27195  nullptr /*zonePolicy*/,
27196  "BST" /*format*/,
27197  240 /*offsetCode (3600/15)*/,
27198  0 /*offsetRemainder (3600%15)*/,
27199  0 /*deltaMinutes*/,
27200  1971 /*untilYear*/,
27201  10 /*untilMonth*/,
27202  31 /*untilDay*/,
27203  480 /*untilTimeCode (7200/15)*/,
27204  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27205  },
27206  // 0:00 GB-Eire %s 1996
27207  {
27208  &kZonePolicyGB_Eire /*zonePolicy*/,
27209  "%" /*format*/,
27210  0 /*offsetCode (0/15)*/,
27211  0 /*offsetRemainder (0%15)*/,
27212  0 /*deltaMinutes*/,
27213  1996 /*untilYear*/,
27214  1 /*untilMonth*/,
27215  1 /*untilDay*/,
27216  0 /*untilTimeCode (0/15)*/,
27217  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27218  },
27219  // 0:00 EU GMT/BST
27220  {
27221  &kZonePolicyEU /*zonePolicy*/,
27222  "GMT/BST" /*format*/,
27223  0 /*offsetCode (0/15)*/,
27224  0 /*offsetRemainder (0%15)*/,
27225  0 /*deltaMinutes*/,
27226  32767 /*untilYear*/,
27227  1 /*untilMonth*/,
27228  1 /*untilDay*/,
27229  0 /*untilTimeCode (0/15)*/,
27230  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27231  },
27232 
27233 };
27234 
27235 static const char kZoneNameEurope_London[] ACE_TIME_PROGMEM = "\x0b" "London";
27236 
27237 const complete::ZoneInfo kZoneEurope_London ACE_TIME_PROGMEM = {
27238  kZoneNameEurope_London /*name*/,
27239  0x5c6a84ae /*zoneId*/,
27240  &kZoneContext /*zoneContext*/,
27241  5 /*numEras*/,
27242  kZoneEraEurope_London /*eras*/,
27243  nullptr /*targetInfo*/,
27244 };
27245 
27246 //---------------------------------------------------------------------------
27247 // Zone name: Europe/Madrid
27248 // Eras: 4
27249 //---------------------------------------------------------------------------
27250 
27251 static const complete::ZoneEra kZoneEraEurope_Madrid[] ACE_TIME_PROGMEM = {
27252  // -0:14:44 - LMT 1901 Jan 1 0:00u
27253  {
27254  nullptr /*zonePolicy*/,
27255  "LMT" /*format*/,
27256  -59 /*offsetCode (-884/15)*/,
27257  1 /*offsetRemainder (-884%15)*/,
27258  0 /*deltaMinutes*/,
27259  1901 /*untilYear*/,
27260  1 /*untilMonth*/,
27261  1 /*untilDay*/,
27262  0 /*untilTimeCode (0/15)*/,
27263  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27264  },
27265  // 0:00 Spain WE%sT 1940 Mar 16 23:00
27266  {
27267  &kZonePolicySpain /*zonePolicy*/,
27268  "WE%T" /*format*/,
27269  0 /*offsetCode (0/15)*/,
27270  0 /*offsetRemainder (0%15)*/,
27271  0 /*deltaMinutes*/,
27272  1940 /*untilYear*/,
27273  3 /*untilMonth*/,
27274  16 /*untilDay*/,
27275  5520 /*untilTimeCode (82800/15)*/,
27276  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27277  },
27278  // 1:00 Spain CE%sT 1979
27279  {
27280  &kZonePolicySpain /*zonePolicy*/,
27281  "CE%T" /*format*/,
27282  240 /*offsetCode (3600/15)*/,
27283  0 /*offsetRemainder (3600%15)*/,
27284  0 /*deltaMinutes*/,
27285  1979 /*untilYear*/,
27286  1 /*untilMonth*/,
27287  1 /*untilDay*/,
27288  0 /*untilTimeCode (0/15)*/,
27289  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27290  },
27291  // 1:00 EU CE%sT
27292  {
27293  &kZonePolicyEU /*zonePolicy*/,
27294  "CE%T" /*format*/,
27295  240 /*offsetCode (3600/15)*/,
27296  0 /*offsetRemainder (3600%15)*/,
27297  0 /*deltaMinutes*/,
27298  32767 /*untilYear*/,
27299  1 /*untilMonth*/,
27300  1 /*untilDay*/,
27301  0 /*untilTimeCode (0/15)*/,
27302  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27303  },
27304 
27305 };
27306 
27307 static const char kZoneNameEurope_Madrid[] ACE_TIME_PROGMEM = "\x0b" "Madrid";
27308 
27309 const complete::ZoneInfo kZoneEurope_Madrid ACE_TIME_PROGMEM = {
27310  kZoneNameEurope_Madrid /*name*/,
27311  0x5dbd1535 /*zoneId*/,
27312  &kZoneContext /*zoneContext*/,
27313  4 /*numEras*/,
27314  kZoneEraEurope_Madrid /*eras*/,
27315  nullptr /*targetInfo*/,
27316 };
27317 
27318 //---------------------------------------------------------------------------
27319 // Zone name: Europe/Malta
27320 // Eras: 4
27321 //---------------------------------------------------------------------------
27322 
27323 static const complete::ZoneEra kZoneEraEurope_Malta[] ACE_TIME_PROGMEM = {
27324  // 0:58:04 - LMT 1893 Nov 2
27325  {
27326  nullptr /*zonePolicy*/,
27327  "LMT" /*format*/,
27328  232 /*offsetCode (3484/15)*/,
27329  4 /*offsetRemainder (3484%15)*/,
27330  0 /*deltaMinutes*/,
27331  1893 /*untilYear*/,
27332  11 /*untilMonth*/,
27333  2 /*untilDay*/,
27334  0 /*untilTimeCode (0/15)*/,
27335  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27336  },
27337  // 1:00 Italy CE%sT 1973 Mar 31
27338  {
27339  &kZonePolicyItaly /*zonePolicy*/,
27340  "CE%T" /*format*/,
27341  240 /*offsetCode (3600/15)*/,
27342  0 /*offsetRemainder (3600%15)*/,
27343  0 /*deltaMinutes*/,
27344  1973 /*untilYear*/,
27345  3 /*untilMonth*/,
27346  31 /*untilDay*/,
27347  0 /*untilTimeCode (0/15)*/,
27348  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27349  },
27350  // 1:00 Malta CE%sT 1981
27351  {
27352  &kZonePolicyMalta /*zonePolicy*/,
27353  "CE%T" /*format*/,
27354  240 /*offsetCode (3600/15)*/,
27355  0 /*offsetRemainder (3600%15)*/,
27356  0 /*deltaMinutes*/,
27357  1981 /*untilYear*/,
27358  1 /*untilMonth*/,
27359  1 /*untilDay*/,
27360  0 /*untilTimeCode (0/15)*/,
27361  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27362  },
27363  // 1:00 EU CE%sT
27364  {
27365  &kZonePolicyEU /*zonePolicy*/,
27366  "CE%T" /*format*/,
27367  240 /*offsetCode (3600/15)*/,
27368  0 /*offsetRemainder (3600%15)*/,
27369  0 /*deltaMinutes*/,
27370  32767 /*untilYear*/,
27371  1 /*untilMonth*/,
27372  1 /*untilDay*/,
27373  0 /*untilTimeCode (0/15)*/,
27374  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27375  },
27376 
27377 };
27378 
27379 static const char kZoneNameEurope_Malta[] ACE_TIME_PROGMEM = "\x0b" "Malta";
27380 
27381 const complete::ZoneInfo kZoneEurope_Malta ACE_TIME_PROGMEM = {
27382  kZoneNameEurope_Malta /*name*/,
27383  0xfb1560f3 /*zoneId*/,
27384  &kZoneContext /*zoneContext*/,
27385  4 /*numEras*/,
27386  kZoneEraEurope_Malta /*eras*/,
27387  nullptr /*targetInfo*/,
27388 };
27389 
27390 //---------------------------------------------------------------------------
27391 // Zone name: Europe/Minsk
27392 // Eras: 9
27393 //---------------------------------------------------------------------------
27394 
27395 static const complete::ZoneEra kZoneEraEurope_Minsk[] ACE_TIME_PROGMEM = {
27396  // 1:50:16 - LMT 1880
27397  {
27398  nullptr /*zonePolicy*/,
27399  "LMT" /*format*/,
27400  441 /*offsetCode (6616/15)*/,
27401  1 /*offsetRemainder (6616%15)*/,
27402  0 /*deltaMinutes*/,
27403  1880 /*untilYear*/,
27404  1 /*untilMonth*/,
27405  1 /*untilDay*/,
27406  0 /*untilTimeCode (0/15)*/,
27407  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27408  },
27409  // 1:50 - MMT 1924 May 2
27410  {
27411  nullptr /*zonePolicy*/,
27412  "MMT" /*format*/,
27413  440 /*offsetCode (6600/15)*/,
27414  0 /*offsetRemainder (6600%15)*/,
27415  0 /*deltaMinutes*/,
27416  1924 /*untilYear*/,
27417  5 /*untilMonth*/,
27418  2 /*untilDay*/,
27419  0 /*untilTimeCode (0/15)*/,
27420  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27421  },
27422  // 2:00 - EET 1930 Jun 21
27423  {
27424  nullptr /*zonePolicy*/,
27425  "EET" /*format*/,
27426  480 /*offsetCode (7200/15)*/,
27427  0 /*offsetRemainder (7200%15)*/,
27428  0 /*deltaMinutes*/,
27429  1930 /*untilYear*/,
27430  6 /*untilMonth*/,
27431  21 /*untilDay*/,
27432  0 /*untilTimeCode (0/15)*/,
27433  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27434  },
27435  // 3:00 - MSK 1941 Jun 28
27436  {
27437  nullptr /*zonePolicy*/,
27438  "MSK" /*format*/,
27439  720 /*offsetCode (10800/15)*/,
27440  0 /*offsetRemainder (10800%15)*/,
27441  0 /*deltaMinutes*/,
27442  1941 /*untilYear*/,
27443  6 /*untilMonth*/,
27444  28 /*untilDay*/,
27445  0 /*untilTimeCode (0/15)*/,
27446  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27447  },
27448  // 1:00 C-Eur CE%sT 1944 Jul 3
27449  {
27450  &kZonePolicyC_Eur /*zonePolicy*/,
27451  "CE%T" /*format*/,
27452  240 /*offsetCode (3600/15)*/,
27453  0 /*offsetRemainder (3600%15)*/,
27454  0 /*deltaMinutes*/,
27455  1944 /*untilYear*/,
27456  7 /*untilMonth*/,
27457  3 /*untilDay*/,
27458  0 /*untilTimeCode (0/15)*/,
27459  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27460  },
27461  // 3:00 Russia MSK/MSD 1990
27462  {
27463  &kZonePolicyRussia /*zonePolicy*/,
27464  "MSK/MSD" /*format*/,
27465  720 /*offsetCode (10800/15)*/,
27466  0 /*offsetRemainder (10800%15)*/,
27467  0 /*deltaMinutes*/,
27468  1990 /*untilYear*/,
27469  1 /*untilMonth*/,
27470  1 /*untilDay*/,
27471  0 /*untilTimeCode (0/15)*/,
27472  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27473  },
27474  // 3:00 - MSK 1991 Mar 31 2:00s
27475  {
27476  nullptr /*zonePolicy*/,
27477  "MSK" /*format*/,
27478  720 /*offsetCode (10800/15)*/,
27479  0 /*offsetRemainder (10800%15)*/,
27480  0 /*deltaMinutes*/,
27481  1991 /*untilYear*/,
27482  3 /*untilMonth*/,
27483  31 /*untilDay*/,
27484  480 /*untilTimeCode (7200/15)*/,
27485  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27486  },
27487  // 2:00 Russia EE%sT 2011 Mar 27 2:00s
27488  {
27489  &kZonePolicyRussia /*zonePolicy*/,
27490  "EE%T" /*format*/,
27491  480 /*offsetCode (7200/15)*/,
27492  0 /*offsetRemainder (7200%15)*/,
27493  0 /*deltaMinutes*/,
27494  2011 /*untilYear*/,
27495  3 /*untilMonth*/,
27496  27 /*untilDay*/,
27497  480 /*untilTimeCode (7200/15)*/,
27498  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27499  },
27500  // 3:00 - %z
27501  {
27502  nullptr /*zonePolicy*/,
27503  "" /*format*/,
27504  720 /*offsetCode (10800/15)*/,
27505  0 /*offsetRemainder (10800%15)*/,
27506  0 /*deltaMinutes*/,
27507  32767 /*untilYear*/,
27508  1 /*untilMonth*/,
27509  1 /*untilDay*/,
27510  0 /*untilTimeCode (0/15)*/,
27511  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27512  },
27513 
27514 };
27515 
27516 static const char kZoneNameEurope_Minsk[] ACE_TIME_PROGMEM = "\x0b" "Minsk";
27517 
27518 const complete::ZoneInfo kZoneEurope_Minsk ACE_TIME_PROGMEM = {
27519  kZoneNameEurope_Minsk /*name*/,
27520  0xfb19cc66 /*zoneId*/,
27521  &kZoneContext /*zoneContext*/,
27522  9 /*numEras*/,
27523  kZoneEraEurope_Minsk /*eras*/,
27524  nullptr /*targetInfo*/,
27525 };
27526 
27527 //---------------------------------------------------------------------------
27528 // Zone name: Europe/Moscow
27529 // Eras: 11
27530 //---------------------------------------------------------------------------
27531 
27532 static const complete::ZoneEra kZoneEraEurope_Moscow[] ACE_TIME_PROGMEM = {
27533  // 2:30:17 - LMT 1880
27534  {
27535  nullptr /*zonePolicy*/,
27536  "LMT" /*format*/,
27537  601 /*offsetCode (9017/15)*/,
27538  2 /*offsetRemainder (9017%15)*/,
27539  0 /*deltaMinutes*/,
27540  1880 /*untilYear*/,
27541  1 /*untilMonth*/,
27542  1 /*untilDay*/,
27543  0 /*untilTimeCode (0/15)*/,
27544  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27545  },
27546  // 2:30:17 - MMT 1916 Jul 3
27547  {
27548  nullptr /*zonePolicy*/,
27549  "MMT" /*format*/,
27550  601 /*offsetCode (9017/15)*/,
27551  2 /*offsetRemainder (9017%15)*/,
27552  0 /*deltaMinutes*/,
27553  1916 /*untilYear*/,
27554  7 /*untilMonth*/,
27555  3 /*untilDay*/,
27556  0 /*untilTimeCode (0/15)*/,
27557  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27558  },
27559  // 2:31:19 Russia %s 1919 Jul 1 0:00u
27560  {
27561  &kZonePolicyRussia /*zonePolicy*/,
27562  "%" /*format*/,
27563  605 /*offsetCode (9079/15)*/,
27564  4 /*offsetRemainder (9079%15)*/,
27565  0 /*deltaMinutes*/,
27566  1919 /*untilYear*/,
27567  7 /*untilMonth*/,
27568  1 /*untilDay*/,
27569  0 /*untilTimeCode (0/15)*/,
27570  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
27571  },
27572  // 3:00 Russia %s 1921 Oct
27573  {
27574  &kZonePolicyRussia /*zonePolicy*/,
27575  "%" /*format*/,
27576  720 /*offsetCode (10800/15)*/,
27577  0 /*offsetRemainder (10800%15)*/,
27578  0 /*deltaMinutes*/,
27579  1921 /*untilYear*/,
27580  10 /*untilMonth*/,
27581  1 /*untilDay*/,
27582  0 /*untilTimeCode (0/15)*/,
27583  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27584  },
27585  // 3:00 Russia MSK/MSD 1922 Oct
27586  {
27587  &kZonePolicyRussia /*zonePolicy*/,
27588  "MSK/MSD" /*format*/,
27589  720 /*offsetCode (10800/15)*/,
27590  0 /*offsetRemainder (10800%15)*/,
27591  0 /*deltaMinutes*/,
27592  1922 /*untilYear*/,
27593  10 /*untilMonth*/,
27594  1 /*untilDay*/,
27595  0 /*untilTimeCode (0/15)*/,
27596  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27597  },
27598  // 2:00 - EET 1930 Jun 21
27599  {
27600  nullptr /*zonePolicy*/,
27601  "EET" /*format*/,
27602  480 /*offsetCode (7200/15)*/,
27603  0 /*offsetRemainder (7200%15)*/,
27604  0 /*deltaMinutes*/,
27605  1930 /*untilYear*/,
27606  6 /*untilMonth*/,
27607  21 /*untilDay*/,
27608  0 /*untilTimeCode (0/15)*/,
27609  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27610  },
27611  // 3:00 Russia MSK/MSD 1991 Mar 31 2:00s
27612  {
27613  &kZonePolicyRussia /*zonePolicy*/,
27614  "MSK/MSD" /*format*/,
27615  720 /*offsetCode (10800/15)*/,
27616  0 /*offsetRemainder (10800%15)*/,
27617  0 /*deltaMinutes*/,
27618  1991 /*untilYear*/,
27619  3 /*untilMonth*/,
27620  31 /*untilDay*/,
27621  480 /*untilTimeCode (7200/15)*/,
27622  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27623  },
27624  // 2:00 Russia EE%sT 1992 Jan 19 2:00s
27625  {
27626  &kZonePolicyRussia /*zonePolicy*/,
27627  "EE%T" /*format*/,
27628  480 /*offsetCode (7200/15)*/,
27629  0 /*offsetRemainder (7200%15)*/,
27630  0 /*deltaMinutes*/,
27631  1992 /*untilYear*/,
27632  1 /*untilMonth*/,
27633  19 /*untilDay*/,
27634  480 /*untilTimeCode (7200/15)*/,
27635  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27636  },
27637  // 3:00 Russia MSK/MSD 2011 Mar 27 2:00s
27638  {
27639  &kZonePolicyRussia /*zonePolicy*/,
27640  "MSK/MSD" /*format*/,
27641  720 /*offsetCode (10800/15)*/,
27642  0 /*offsetRemainder (10800%15)*/,
27643  0 /*deltaMinutes*/,
27644  2011 /*untilYear*/,
27645  3 /*untilMonth*/,
27646  27 /*untilDay*/,
27647  480 /*untilTimeCode (7200/15)*/,
27648  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27649  },
27650  // 4:00 - MSK 2014 Oct 26 2:00s
27651  {
27652  nullptr /*zonePolicy*/,
27653  "MSK" /*format*/,
27654  960 /*offsetCode (14400/15)*/,
27655  0 /*offsetRemainder (14400%15)*/,
27656  0 /*deltaMinutes*/,
27657  2014 /*untilYear*/,
27658  10 /*untilMonth*/,
27659  26 /*untilDay*/,
27660  480 /*untilTimeCode (7200/15)*/,
27661  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
27662  },
27663  // 3:00 - MSK
27664  {
27665  nullptr /*zonePolicy*/,
27666  "MSK" /*format*/,
27667  720 /*offsetCode (10800/15)*/,
27668  0 /*offsetRemainder (10800%15)*/,
27669  0 /*deltaMinutes*/,
27670  32767 /*untilYear*/,
27671  1 /*untilMonth*/,
27672  1 /*untilDay*/,
27673  0 /*untilTimeCode (0/15)*/,
27674  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27675  },
27676 
27677 };
27678 
27679 static const char kZoneNameEurope_Moscow[] ACE_TIME_PROGMEM = "\x0b" "Moscow";
27680 
27681 const complete::ZoneInfo kZoneEurope_Moscow ACE_TIME_PROGMEM = {
27682  kZoneNameEurope_Moscow /*name*/,
27683  0x5ec266fc /*zoneId*/,
27684  &kZoneContext /*zoneContext*/,
27685  11 /*numEras*/,
27686  kZoneEraEurope_Moscow /*eras*/,
27687  nullptr /*targetInfo*/,
27688 };
27689 
27690 //---------------------------------------------------------------------------
27691 // Zone name: Europe/Paris
27692 // Eras: 7
27693 //---------------------------------------------------------------------------
27694 
27695 static const complete::ZoneEra kZoneEraEurope_Paris[] ACE_TIME_PROGMEM = {
27696  // 0:09:21 - LMT 1891 Mar 16
27697  {
27698  nullptr /*zonePolicy*/,
27699  "LMT" /*format*/,
27700  37 /*offsetCode (561/15)*/,
27701  6 /*offsetRemainder (561%15)*/,
27702  0 /*deltaMinutes*/,
27703  1891 /*untilYear*/,
27704  3 /*untilMonth*/,
27705  16 /*untilDay*/,
27706  0 /*untilTimeCode (0/15)*/,
27707  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27708  },
27709  // 0:09:21 - PMT 1911 Mar 11
27710  {
27711  nullptr /*zonePolicy*/,
27712  "PMT" /*format*/,
27713  37 /*offsetCode (561/15)*/,
27714  6 /*offsetRemainder (561%15)*/,
27715  0 /*deltaMinutes*/,
27716  1911 /*untilYear*/,
27717  3 /*untilMonth*/,
27718  11 /*untilDay*/,
27719  0 /*untilTimeCode (0/15)*/,
27720  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27721  },
27722  // 0:00 France WE%sT 1940 Jun 14 23:00
27723  {
27724  &kZonePolicyFrance /*zonePolicy*/,
27725  "WE%T" /*format*/,
27726  0 /*offsetCode (0/15)*/,
27727  0 /*offsetRemainder (0%15)*/,
27728  0 /*deltaMinutes*/,
27729  1940 /*untilYear*/,
27730  6 /*untilMonth*/,
27731  14 /*untilDay*/,
27732  5520 /*untilTimeCode (82800/15)*/,
27733  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27734  },
27735  // 1:00 C-Eur CE%sT 1944 Aug 25
27736  {
27737  &kZonePolicyC_Eur /*zonePolicy*/,
27738  "CE%T" /*format*/,
27739  240 /*offsetCode (3600/15)*/,
27740  0 /*offsetRemainder (3600%15)*/,
27741  0 /*deltaMinutes*/,
27742  1944 /*untilYear*/,
27743  8 /*untilMonth*/,
27744  25 /*untilDay*/,
27745  0 /*untilTimeCode (0/15)*/,
27746  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27747  },
27748  // 0:00 France WE%sT 1945 Sep 16 3:00
27749  {
27750  &kZonePolicyFrance /*zonePolicy*/,
27751  "WE%T" /*format*/,
27752  0 /*offsetCode (0/15)*/,
27753  0 /*offsetRemainder (0%15)*/,
27754  0 /*deltaMinutes*/,
27755  1945 /*untilYear*/,
27756  9 /*untilMonth*/,
27757  16 /*untilDay*/,
27758  720 /*untilTimeCode (10800/15)*/,
27759  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27760  },
27761  // 1:00 France CE%sT 1977
27762  {
27763  &kZonePolicyFrance /*zonePolicy*/,
27764  "CE%T" /*format*/,
27765  240 /*offsetCode (3600/15)*/,
27766  0 /*offsetRemainder (3600%15)*/,
27767  0 /*deltaMinutes*/,
27768  1977 /*untilYear*/,
27769  1 /*untilMonth*/,
27770  1 /*untilDay*/,
27771  0 /*untilTimeCode (0/15)*/,
27772  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27773  },
27774  // 1:00 EU CE%sT
27775  {
27776  &kZonePolicyEU /*zonePolicy*/,
27777  "CE%T" /*format*/,
27778  240 /*offsetCode (3600/15)*/,
27779  0 /*offsetRemainder (3600%15)*/,
27780  0 /*deltaMinutes*/,
27781  32767 /*untilYear*/,
27782  1 /*untilMonth*/,
27783  1 /*untilDay*/,
27784  0 /*untilTimeCode (0/15)*/,
27785  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27786  },
27787 
27788 };
27789 
27790 static const char kZoneNameEurope_Paris[] ACE_TIME_PROGMEM = "\x0b" "Paris";
27791 
27792 const complete::ZoneInfo kZoneEurope_Paris ACE_TIME_PROGMEM = {
27793  kZoneNameEurope_Paris /*name*/,
27794  0xfb4bc2a3 /*zoneId*/,
27795  &kZoneContext /*zoneContext*/,
27796  7 /*numEras*/,
27797  kZoneEraEurope_Paris /*eras*/,
27798  nullptr /*targetInfo*/,
27799 };
27800 
27801 //---------------------------------------------------------------------------
27802 // Zone name: Europe/Prague
27803 // Eras: 7
27804 //---------------------------------------------------------------------------
27805 
27806 static const complete::ZoneEra kZoneEraEurope_Prague[] ACE_TIME_PROGMEM = {
27807  // 0:57:44 - LMT 1850
27808  {
27809  nullptr /*zonePolicy*/,
27810  "LMT" /*format*/,
27811  230 /*offsetCode (3464/15)*/,
27812  14 /*offsetRemainder (3464%15)*/,
27813  0 /*deltaMinutes*/,
27814  1850 /*untilYear*/,
27815  1 /*untilMonth*/,
27816  1 /*untilDay*/,
27817  0 /*untilTimeCode (0/15)*/,
27818  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27819  },
27820  // 0:57:44 - PMT 1891 Oct
27821  {
27822  nullptr /*zonePolicy*/,
27823  "PMT" /*format*/,
27824  230 /*offsetCode (3464/15)*/,
27825  14 /*offsetRemainder (3464%15)*/,
27826  0 /*deltaMinutes*/,
27827  1891 /*untilYear*/,
27828  10 /*untilMonth*/,
27829  1 /*untilDay*/,
27830  0 /*untilTimeCode (0/15)*/,
27831  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27832  },
27833  // 1:00 C-Eur CE%sT 1945 May 9
27834  {
27835  &kZonePolicyC_Eur /*zonePolicy*/,
27836  "CE%T" /*format*/,
27837  240 /*offsetCode (3600/15)*/,
27838  0 /*offsetRemainder (3600%15)*/,
27839  0 /*deltaMinutes*/,
27840  1945 /*untilYear*/,
27841  5 /*untilMonth*/,
27842  9 /*untilDay*/,
27843  0 /*untilTimeCode (0/15)*/,
27844  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27845  },
27846  // 1:00 Czech CE%sT 1946 Dec 1 3:00
27847  {
27848  &kZonePolicyCzech /*zonePolicy*/,
27849  "CE%T" /*format*/,
27850  240 /*offsetCode (3600/15)*/,
27851  0 /*offsetRemainder (3600%15)*/,
27852  0 /*deltaMinutes*/,
27853  1946 /*untilYear*/,
27854  12 /*untilMonth*/,
27855  1 /*untilDay*/,
27856  720 /*untilTimeCode (10800/15)*/,
27857  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27858  },
27859  // 1:00 -1:00 GMT 1947 Feb 23 2:00
27860  {
27861  nullptr /*zonePolicy*/,
27862  "GMT" /*format*/,
27863  240 /*offsetCode (3600/15)*/,
27864  0 /*offsetRemainder (3600%15)*/,
27865  -60 /*deltaMinutes*/,
27866  1947 /*untilYear*/,
27867  2 /*untilMonth*/,
27868  23 /*untilDay*/,
27869  480 /*untilTimeCode (7200/15)*/,
27870  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27871  },
27872  // 1:00 Czech CE%sT 1979
27873  {
27874  &kZonePolicyCzech /*zonePolicy*/,
27875  "CE%T" /*format*/,
27876  240 /*offsetCode (3600/15)*/,
27877  0 /*offsetRemainder (3600%15)*/,
27878  0 /*deltaMinutes*/,
27879  1979 /*untilYear*/,
27880  1 /*untilMonth*/,
27881  1 /*untilDay*/,
27882  0 /*untilTimeCode (0/15)*/,
27883  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27884  },
27885  // 1:00 EU CE%sT
27886  {
27887  &kZonePolicyEU /*zonePolicy*/,
27888  "CE%T" /*format*/,
27889  240 /*offsetCode (3600/15)*/,
27890  0 /*offsetRemainder (3600%15)*/,
27891  0 /*deltaMinutes*/,
27892  32767 /*untilYear*/,
27893  1 /*untilMonth*/,
27894  1 /*untilDay*/,
27895  0 /*untilTimeCode (0/15)*/,
27896  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27897  },
27898 
27899 };
27900 
27901 static const char kZoneNameEurope_Prague[] ACE_TIME_PROGMEM = "\x0b" "Prague";
27902 
27903 const complete::ZoneInfo kZoneEurope_Prague ACE_TIME_PROGMEM = {
27904  kZoneNameEurope_Prague /*name*/,
27905  0x65ee5d48 /*zoneId*/,
27906  &kZoneContext /*zoneContext*/,
27907  7 /*numEras*/,
27908  kZoneEraEurope_Prague /*eras*/,
27909  nullptr /*targetInfo*/,
27910 };
27911 
27912 //---------------------------------------------------------------------------
27913 // Zone name: Europe/Riga
27914 // Eras: 15
27915 //---------------------------------------------------------------------------
27916 
27917 static const complete::ZoneEra kZoneEraEurope_Riga[] ACE_TIME_PROGMEM = {
27918  // 1:36:34 - LMT 1880
27919  {
27920  nullptr /*zonePolicy*/,
27921  "LMT" /*format*/,
27922  386 /*offsetCode (5794/15)*/,
27923  4 /*offsetRemainder (5794%15)*/,
27924  0 /*deltaMinutes*/,
27925  1880 /*untilYear*/,
27926  1 /*untilMonth*/,
27927  1 /*untilDay*/,
27928  0 /*untilTimeCode (0/15)*/,
27929  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27930  },
27931  // 1:36:34 - RMT 1918 Apr 15 2:00
27932  {
27933  nullptr /*zonePolicy*/,
27934  "RMT" /*format*/,
27935  386 /*offsetCode (5794/15)*/,
27936  4 /*offsetRemainder (5794%15)*/,
27937  0 /*deltaMinutes*/,
27938  1918 /*untilYear*/,
27939  4 /*untilMonth*/,
27940  15 /*untilDay*/,
27941  480 /*untilTimeCode (7200/15)*/,
27942  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27943  },
27944  // 1:36:34 1:00 LST 1918 Sep 16 3:00
27945  {
27946  nullptr /*zonePolicy*/,
27947  "LST" /*format*/,
27948  386 /*offsetCode (5794/15)*/,
27949  4 /*offsetRemainder (5794%15)*/,
27950  60 /*deltaMinutes*/,
27951  1918 /*untilYear*/,
27952  9 /*untilMonth*/,
27953  16 /*untilDay*/,
27954  720 /*untilTimeCode (10800/15)*/,
27955  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27956  },
27957  // 1:36:34 - RMT 1919 Apr 1 2:00
27958  {
27959  nullptr /*zonePolicy*/,
27960  "RMT" /*format*/,
27961  386 /*offsetCode (5794/15)*/,
27962  4 /*offsetRemainder (5794%15)*/,
27963  0 /*deltaMinutes*/,
27964  1919 /*untilYear*/,
27965  4 /*untilMonth*/,
27966  1 /*untilDay*/,
27967  480 /*untilTimeCode (7200/15)*/,
27968  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27969  },
27970  // 1:36:34 1:00 LST 1919 May 22 3:00
27971  {
27972  nullptr /*zonePolicy*/,
27973  "LST" /*format*/,
27974  386 /*offsetCode (5794/15)*/,
27975  4 /*offsetRemainder (5794%15)*/,
27976  60 /*deltaMinutes*/,
27977  1919 /*untilYear*/,
27978  5 /*untilMonth*/,
27979  22 /*untilDay*/,
27980  720 /*untilTimeCode (10800/15)*/,
27981  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27982  },
27983  // 1:36:34 - RMT 1926 May 11
27984  {
27985  nullptr /*zonePolicy*/,
27986  "RMT" /*format*/,
27987  386 /*offsetCode (5794/15)*/,
27988  4 /*offsetRemainder (5794%15)*/,
27989  0 /*deltaMinutes*/,
27990  1926 /*untilYear*/,
27991  5 /*untilMonth*/,
27992  11 /*untilDay*/,
27993  0 /*untilTimeCode (0/15)*/,
27994  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
27995  },
27996  // 2:00 - EET 1940 Aug 5
27997  {
27998  nullptr /*zonePolicy*/,
27999  "EET" /*format*/,
28000  480 /*offsetCode (7200/15)*/,
28001  0 /*offsetRemainder (7200%15)*/,
28002  0 /*deltaMinutes*/,
28003  1940 /*untilYear*/,
28004  8 /*untilMonth*/,
28005  5 /*untilDay*/,
28006  0 /*untilTimeCode (0/15)*/,
28007  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28008  },
28009  // 3:00 - MSK 1941 Jul
28010  {
28011  nullptr /*zonePolicy*/,
28012  "MSK" /*format*/,
28013  720 /*offsetCode (10800/15)*/,
28014  0 /*offsetRemainder (10800%15)*/,
28015  0 /*deltaMinutes*/,
28016  1941 /*untilYear*/,
28017  7 /*untilMonth*/,
28018  1 /*untilDay*/,
28019  0 /*untilTimeCode (0/15)*/,
28020  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28021  },
28022  // 1:00 C-Eur CE%sT 1944 Oct 13
28023  {
28024  &kZonePolicyC_Eur /*zonePolicy*/,
28025  "CE%T" /*format*/,
28026  240 /*offsetCode (3600/15)*/,
28027  0 /*offsetRemainder (3600%15)*/,
28028  0 /*deltaMinutes*/,
28029  1944 /*untilYear*/,
28030  10 /*untilMonth*/,
28031  13 /*untilDay*/,
28032  0 /*untilTimeCode (0/15)*/,
28033  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28034  },
28035  // 3:00 Russia MSK/MSD 1989 Mar lastSun 2:00s
28036  {
28037  &kZonePolicyRussia /*zonePolicy*/,
28038  "MSK/MSD" /*format*/,
28039  720 /*offsetCode (10800/15)*/,
28040  0 /*offsetRemainder (10800%15)*/,
28041  0 /*deltaMinutes*/,
28042  1989 /*untilYear*/,
28043  3 /*untilMonth*/,
28044  26 /*untilDay*/,
28045  480 /*untilTimeCode (7200/15)*/,
28046  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28047  },
28048  // 2:00 1:00 EEST 1989 Sep lastSun 2:00s
28049  {
28050  nullptr /*zonePolicy*/,
28051  "EEST" /*format*/,
28052  480 /*offsetCode (7200/15)*/,
28053  0 /*offsetRemainder (7200%15)*/,
28054  60 /*deltaMinutes*/,
28055  1989 /*untilYear*/,
28056  9 /*untilMonth*/,
28057  24 /*untilDay*/,
28058  480 /*untilTimeCode (7200/15)*/,
28059  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28060  },
28061  // 2:00 Latvia EE%sT 1997 Jan 21
28062  {
28063  &kZonePolicyLatvia /*zonePolicy*/,
28064  "EE%T" /*format*/,
28065  480 /*offsetCode (7200/15)*/,
28066  0 /*offsetRemainder (7200%15)*/,
28067  0 /*deltaMinutes*/,
28068  1997 /*untilYear*/,
28069  1 /*untilMonth*/,
28070  21 /*untilDay*/,
28071  0 /*untilTimeCode (0/15)*/,
28072  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28073  },
28074  // 2:00 EU EE%sT 2000 Feb 29
28075  {
28076  &kZonePolicyEU /*zonePolicy*/,
28077  "EE%T" /*format*/,
28078  480 /*offsetCode (7200/15)*/,
28079  0 /*offsetRemainder (7200%15)*/,
28080  0 /*deltaMinutes*/,
28081  2000 /*untilYear*/,
28082  2 /*untilMonth*/,
28083  29 /*untilDay*/,
28084  0 /*untilTimeCode (0/15)*/,
28085  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28086  },
28087  // 2:00 - EET 2001 Jan 2
28088  {
28089  nullptr /*zonePolicy*/,
28090  "EET" /*format*/,
28091  480 /*offsetCode (7200/15)*/,
28092  0 /*offsetRemainder (7200%15)*/,
28093  0 /*deltaMinutes*/,
28094  2001 /*untilYear*/,
28095  1 /*untilMonth*/,
28096  2 /*untilDay*/,
28097  0 /*untilTimeCode (0/15)*/,
28098  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28099  },
28100  // 2:00 EU EE%sT
28101  {
28102  &kZonePolicyEU /*zonePolicy*/,
28103  "EE%T" /*format*/,
28104  480 /*offsetCode (7200/15)*/,
28105  0 /*offsetRemainder (7200%15)*/,
28106  0 /*deltaMinutes*/,
28107  32767 /*untilYear*/,
28108  1 /*untilMonth*/,
28109  1 /*untilDay*/,
28110  0 /*untilTimeCode (0/15)*/,
28111  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28112  },
28113 
28114 };
28115 
28116 static const char kZoneNameEurope_Riga[] ACE_TIME_PROGMEM = "\x0b" "Riga";
28117 
28118 const complete::ZoneInfo kZoneEurope_Riga ACE_TIME_PROGMEM = {
28119  kZoneNameEurope_Riga /*name*/,
28120  0xa2c57587 /*zoneId*/,
28121  &kZoneContext /*zoneContext*/,
28122  15 /*numEras*/,
28123  kZoneEraEurope_Riga /*eras*/,
28124  nullptr /*targetInfo*/,
28125 };
28126 
28127 //---------------------------------------------------------------------------
28128 // Zone name: Europe/Rome
28129 // Eras: 6
28130 //---------------------------------------------------------------------------
28131 
28132 static const complete::ZoneEra kZoneEraEurope_Rome[] ACE_TIME_PROGMEM = {
28133  // 0:49:56 - LMT 1866 Dec 12
28134  {
28135  nullptr /*zonePolicy*/,
28136  "LMT" /*format*/,
28137  199 /*offsetCode (2996/15)*/,
28138  11 /*offsetRemainder (2996%15)*/,
28139  0 /*deltaMinutes*/,
28140  1866 /*untilYear*/,
28141  12 /*untilMonth*/,
28142  12 /*untilDay*/,
28143  0 /*untilTimeCode (0/15)*/,
28144  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28145  },
28146  // 0:49:56 - RMT 1893 Oct 31 23:00u
28147  {
28148  nullptr /*zonePolicy*/,
28149  "RMT" /*format*/,
28150  199 /*offsetCode (2996/15)*/,
28151  11 /*offsetRemainder (2996%15)*/,
28152  0 /*deltaMinutes*/,
28153  1893 /*untilYear*/,
28154  10 /*untilMonth*/,
28155  31 /*untilDay*/,
28156  5520 /*untilTimeCode (82800/15)*/,
28157  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
28158  },
28159  // 1:00 Italy CE%sT 1943 Sep 10
28160  {
28161  &kZonePolicyItaly /*zonePolicy*/,
28162  "CE%T" /*format*/,
28163  240 /*offsetCode (3600/15)*/,
28164  0 /*offsetRemainder (3600%15)*/,
28165  0 /*deltaMinutes*/,
28166  1943 /*untilYear*/,
28167  9 /*untilMonth*/,
28168  10 /*untilDay*/,
28169  0 /*untilTimeCode (0/15)*/,
28170  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28171  },
28172  // 1:00 C-Eur CE%sT 1944 Jun 4
28173  {
28174  &kZonePolicyC_Eur /*zonePolicy*/,
28175  "CE%T" /*format*/,
28176  240 /*offsetCode (3600/15)*/,
28177  0 /*offsetRemainder (3600%15)*/,
28178  0 /*deltaMinutes*/,
28179  1944 /*untilYear*/,
28180  6 /*untilMonth*/,
28181  4 /*untilDay*/,
28182  0 /*untilTimeCode (0/15)*/,
28183  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28184  },
28185  // 1:00 Italy CE%sT 1980
28186  {
28187  &kZonePolicyItaly /*zonePolicy*/,
28188  "CE%T" /*format*/,
28189  240 /*offsetCode (3600/15)*/,
28190  0 /*offsetRemainder (3600%15)*/,
28191  0 /*deltaMinutes*/,
28192  1980 /*untilYear*/,
28193  1 /*untilMonth*/,
28194  1 /*untilDay*/,
28195  0 /*untilTimeCode (0/15)*/,
28196  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28197  },
28198  // 1:00 EU CE%sT
28199  {
28200  &kZonePolicyEU /*zonePolicy*/,
28201  "CE%T" /*format*/,
28202  240 /*offsetCode (3600/15)*/,
28203  0 /*offsetRemainder (3600%15)*/,
28204  0 /*deltaMinutes*/,
28205  32767 /*untilYear*/,
28206  1 /*untilMonth*/,
28207  1 /*untilDay*/,
28208  0 /*untilTimeCode (0/15)*/,
28209  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28210  },
28211 
28212 };
28213 
28214 static const char kZoneNameEurope_Rome[] ACE_TIME_PROGMEM = "\x0b" "Rome";
28215 
28216 const complete::ZoneInfo kZoneEurope_Rome ACE_TIME_PROGMEM = {
28217  kZoneNameEurope_Rome /*name*/,
28218  0xa2c58fd7 /*zoneId*/,
28219  &kZoneContext /*zoneContext*/,
28220  6 /*numEras*/,
28221  kZoneEraEurope_Rome /*eras*/,
28222  nullptr /*targetInfo*/,
28223 };
28224 
28225 //---------------------------------------------------------------------------
28226 // Zone name: Europe/Samara
28227 // Eras: 10
28228 //---------------------------------------------------------------------------
28229 
28230 static const complete::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = {
28231  // 3:20:20 - LMT 1919 Jul 1 0:00u
28232  {
28233  nullptr /*zonePolicy*/,
28234  "LMT" /*format*/,
28235  801 /*offsetCode (12020/15)*/,
28236  5 /*offsetRemainder (12020%15)*/,
28237  0 /*deltaMinutes*/,
28238  1919 /*untilYear*/,
28239  7 /*untilMonth*/,
28240  1 /*untilDay*/,
28241  0 /*untilTimeCode (0/15)*/,
28242  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
28243  },
28244  // 3:00 - %z 1930 Jun 21
28245  {
28246  nullptr /*zonePolicy*/,
28247  "" /*format*/,
28248  720 /*offsetCode (10800/15)*/,
28249  0 /*offsetRemainder (10800%15)*/,
28250  0 /*deltaMinutes*/,
28251  1930 /*untilYear*/,
28252  6 /*untilMonth*/,
28253  21 /*untilDay*/,
28254  0 /*untilTimeCode (0/15)*/,
28255  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28256  },
28257  // 4:00 - %z 1935 Jan 27
28258  {
28259  nullptr /*zonePolicy*/,
28260  "" /*format*/,
28261  960 /*offsetCode (14400/15)*/,
28262  0 /*offsetRemainder (14400%15)*/,
28263  0 /*deltaMinutes*/,
28264  1935 /*untilYear*/,
28265  1 /*untilMonth*/,
28266  27 /*untilDay*/,
28267  0 /*untilTimeCode (0/15)*/,
28268  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28269  },
28270  // 4:00 Russia %z 1989 Mar 26 2:00s
28271  {
28272  &kZonePolicyRussia /*zonePolicy*/,
28273  "" /*format*/,
28274  960 /*offsetCode (14400/15)*/,
28275  0 /*offsetRemainder (14400%15)*/,
28276  0 /*deltaMinutes*/,
28277  1989 /*untilYear*/,
28278  3 /*untilMonth*/,
28279  26 /*untilDay*/,
28280  480 /*untilTimeCode (7200/15)*/,
28281  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28282  },
28283  // 3:00 Russia %z 1991 Mar 31 2:00s
28284  {
28285  &kZonePolicyRussia /*zonePolicy*/,
28286  "" /*format*/,
28287  720 /*offsetCode (10800/15)*/,
28288  0 /*offsetRemainder (10800%15)*/,
28289  0 /*deltaMinutes*/,
28290  1991 /*untilYear*/,
28291  3 /*untilMonth*/,
28292  31 /*untilDay*/,
28293  480 /*untilTimeCode (7200/15)*/,
28294  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28295  },
28296  // 2:00 Russia %z 1991 Sep 29 2:00s
28297  {
28298  &kZonePolicyRussia /*zonePolicy*/,
28299  "" /*format*/,
28300  480 /*offsetCode (7200/15)*/,
28301  0 /*offsetRemainder (7200%15)*/,
28302  0 /*deltaMinutes*/,
28303  1991 /*untilYear*/,
28304  9 /*untilMonth*/,
28305  29 /*untilDay*/,
28306  480 /*untilTimeCode (7200/15)*/,
28307  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28308  },
28309  // 3:00 - %z 1991 Oct 20 3:00
28310  {
28311  nullptr /*zonePolicy*/,
28312  "" /*format*/,
28313  720 /*offsetCode (10800/15)*/,
28314  0 /*offsetRemainder (10800%15)*/,
28315  0 /*deltaMinutes*/,
28316  1991 /*untilYear*/,
28317  10 /*untilMonth*/,
28318  20 /*untilDay*/,
28319  720 /*untilTimeCode (10800/15)*/,
28320  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28321  },
28322  // 4:00 Russia %z 2010 Mar 28 2:00s
28323  {
28324  &kZonePolicyRussia /*zonePolicy*/,
28325  "" /*format*/,
28326  960 /*offsetCode (14400/15)*/,
28327  0 /*offsetRemainder (14400%15)*/,
28328  0 /*deltaMinutes*/,
28329  2010 /*untilYear*/,
28330  3 /*untilMonth*/,
28331  28 /*untilDay*/,
28332  480 /*untilTimeCode (7200/15)*/,
28333  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28334  },
28335  // 3:00 Russia %z 2011 Mar 27 2:00s
28336  {
28337  &kZonePolicyRussia /*zonePolicy*/,
28338  "" /*format*/,
28339  720 /*offsetCode (10800/15)*/,
28340  0 /*offsetRemainder (10800%15)*/,
28341  0 /*deltaMinutes*/,
28342  2011 /*untilYear*/,
28343  3 /*untilMonth*/,
28344  27 /*untilDay*/,
28345  480 /*untilTimeCode (7200/15)*/,
28346  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28347  },
28348  // 4:00 - %z
28349  {
28350  nullptr /*zonePolicy*/,
28351  "" /*format*/,
28352  960 /*offsetCode (14400/15)*/,
28353  0 /*offsetRemainder (14400%15)*/,
28354  0 /*deltaMinutes*/,
28355  32767 /*untilYear*/,
28356  1 /*untilMonth*/,
28357  1 /*untilDay*/,
28358  0 /*untilTimeCode (0/15)*/,
28359  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28360  },
28361 
28362 };
28363 
28364 static const char kZoneNameEurope_Samara[] ACE_TIME_PROGMEM = "\x0b" "Samara";
28365 
28366 const complete::ZoneInfo kZoneEurope_Samara ACE_TIME_PROGMEM = {
28367  kZoneNameEurope_Samara /*name*/,
28368  0x6bc0b139 /*zoneId*/,
28369  &kZoneContext /*zoneContext*/,
28370  10 /*numEras*/,
28371  kZoneEraEurope_Samara /*eras*/,
28372  nullptr /*targetInfo*/,
28373 };
28374 
28375 //---------------------------------------------------------------------------
28376 // Zone name: Europe/Saratov
28377 // Eras: 9
28378 //---------------------------------------------------------------------------
28379 
28380 static const complete::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = {
28381  // 3:04:18 - LMT 1919 Jul 1 0:00u
28382  {
28383  nullptr /*zonePolicy*/,
28384  "LMT" /*format*/,
28385  737 /*offsetCode (11058/15)*/,
28386  3 /*offsetRemainder (11058%15)*/,
28387  0 /*deltaMinutes*/,
28388  1919 /*untilYear*/,
28389  7 /*untilMonth*/,
28390  1 /*untilDay*/,
28391  0 /*untilTimeCode (0/15)*/,
28392  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
28393  },
28394  // 3:00 - %z 1930 Jun 21
28395  {
28396  nullptr /*zonePolicy*/,
28397  "" /*format*/,
28398  720 /*offsetCode (10800/15)*/,
28399  0 /*offsetRemainder (10800%15)*/,
28400  0 /*deltaMinutes*/,
28401  1930 /*untilYear*/,
28402  6 /*untilMonth*/,
28403  21 /*untilDay*/,
28404  0 /*untilTimeCode (0/15)*/,
28405  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28406  },
28407  // 4:00 Russia %z 1988 Mar 27 2:00s
28408  {
28409  &kZonePolicyRussia /*zonePolicy*/,
28410  "" /*format*/,
28411  960 /*offsetCode (14400/15)*/,
28412  0 /*offsetRemainder (14400%15)*/,
28413  0 /*deltaMinutes*/,
28414  1988 /*untilYear*/,
28415  3 /*untilMonth*/,
28416  27 /*untilDay*/,
28417  480 /*untilTimeCode (7200/15)*/,
28418  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28419  },
28420  // 3:00 Russia %z 1991 Mar 31 2:00s
28421  {
28422  &kZonePolicyRussia /*zonePolicy*/,
28423  "" /*format*/,
28424  720 /*offsetCode (10800/15)*/,
28425  0 /*offsetRemainder (10800%15)*/,
28426  0 /*deltaMinutes*/,
28427  1991 /*untilYear*/,
28428  3 /*untilMonth*/,
28429  31 /*untilDay*/,
28430  480 /*untilTimeCode (7200/15)*/,
28431  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28432  },
28433  // 4:00 - %z 1992 Mar 29 2:00s
28434  {
28435  nullptr /*zonePolicy*/,
28436  "" /*format*/,
28437  960 /*offsetCode (14400/15)*/,
28438  0 /*offsetRemainder (14400%15)*/,
28439  0 /*deltaMinutes*/,
28440  1992 /*untilYear*/,
28441  3 /*untilMonth*/,
28442  29 /*untilDay*/,
28443  480 /*untilTimeCode (7200/15)*/,
28444  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28445  },
28446  // 3:00 Russia %z 2011 Mar 27 2:00s
28447  {
28448  &kZonePolicyRussia /*zonePolicy*/,
28449  "" /*format*/,
28450  720 /*offsetCode (10800/15)*/,
28451  0 /*offsetRemainder (10800%15)*/,
28452  0 /*deltaMinutes*/,
28453  2011 /*untilYear*/,
28454  3 /*untilMonth*/,
28455  27 /*untilDay*/,
28456  480 /*untilTimeCode (7200/15)*/,
28457  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28458  },
28459  // 4:00 - %z 2014 Oct 26 2:00s
28460  {
28461  nullptr /*zonePolicy*/,
28462  "" /*format*/,
28463  960 /*offsetCode (14400/15)*/,
28464  0 /*offsetRemainder (14400%15)*/,
28465  0 /*deltaMinutes*/,
28466  2014 /*untilYear*/,
28467  10 /*untilMonth*/,
28468  26 /*untilDay*/,
28469  480 /*untilTimeCode (7200/15)*/,
28470  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28471  },
28472  // 3:00 - %z 2016 Dec 4 2:00s
28473  {
28474  nullptr /*zonePolicy*/,
28475  "" /*format*/,
28476  720 /*offsetCode (10800/15)*/,
28477  0 /*offsetRemainder (10800%15)*/,
28478  0 /*deltaMinutes*/,
28479  2016 /*untilYear*/,
28480  12 /*untilMonth*/,
28481  4 /*untilDay*/,
28482  480 /*untilTimeCode (7200/15)*/,
28483  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28484  },
28485  // 4:00 - %z
28486  {
28487  nullptr /*zonePolicy*/,
28488  "" /*format*/,
28489  960 /*offsetCode (14400/15)*/,
28490  0 /*offsetRemainder (14400%15)*/,
28491  0 /*deltaMinutes*/,
28492  32767 /*untilYear*/,
28493  1 /*untilMonth*/,
28494  1 /*untilDay*/,
28495  0 /*untilTimeCode (0/15)*/,
28496  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28497  },
28498 
28499 };
28500 
28501 static const char kZoneNameEurope_Saratov[] ACE_TIME_PROGMEM = "\x0b" "Saratov";
28502 
28503 const complete::ZoneInfo kZoneEurope_Saratov ACE_TIME_PROGMEM = {
28504  kZoneNameEurope_Saratov /*name*/,
28505  0xe4315da4 /*zoneId*/,
28506  &kZoneContext /*zoneContext*/,
28507  9 /*numEras*/,
28508  kZoneEraEurope_Saratov /*eras*/,
28509  nullptr /*targetInfo*/,
28510 };
28511 
28512 //---------------------------------------------------------------------------
28513 // Zone name: Europe/Simferopol
28514 // Eras: 15
28515 //---------------------------------------------------------------------------
28516 
28517 static const complete::ZoneEra kZoneEraEurope_Simferopol[] ACE_TIME_PROGMEM = {
28518  // 2:16:24 - LMT 1880
28519  {
28520  nullptr /*zonePolicy*/,
28521  "LMT" /*format*/,
28522  545 /*offsetCode (8184/15)*/,
28523  9 /*offsetRemainder (8184%15)*/,
28524  0 /*deltaMinutes*/,
28525  1880 /*untilYear*/,
28526  1 /*untilMonth*/,
28527  1 /*untilDay*/,
28528  0 /*untilTimeCode (0/15)*/,
28529  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28530  },
28531  // 2:16 - SMT 1924 May 2
28532  {
28533  nullptr /*zonePolicy*/,
28534  "SMT" /*format*/,
28535  544 /*offsetCode (8160/15)*/,
28536  0 /*offsetRemainder (8160%15)*/,
28537  0 /*deltaMinutes*/,
28538  1924 /*untilYear*/,
28539  5 /*untilMonth*/,
28540  2 /*untilDay*/,
28541  0 /*untilTimeCode (0/15)*/,
28542  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28543  },
28544  // 2:00 - EET 1930 Jun 21
28545  {
28546  nullptr /*zonePolicy*/,
28547  "EET" /*format*/,
28548  480 /*offsetCode (7200/15)*/,
28549  0 /*offsetRemainder (7200%15)*/,
28550  0 /*deltaMinutes*/,
28551  1930 /*untilYear*/,
28552  6 /*untilMonth*/,
28553  21 /*untilDay*/,
28554  0 /*untilTimeCode (0/15)*/,
28555  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28556  },
28557  // 3:00 - MSK 1941 Nov
28558  {
28559  nullptr /*zonePolicy*/,
28560  "MSK" /*format*/,
28561  720 /*offsetCode (10800/15)*/,
28562  0 /*offsetRemainder (10800%15)*/,
28563  0 /*deltaMinutes*/,
28564  1941 /*untilYear*/,
28565  11 /*untilMonth*/,
28566  1 /*untilDay*/,
28567  0 /*untilTimeCode (0/15)*/,
28568  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28569  },
28570  // 1:00 C-Eur CE%sT 1944 Apr 13
28571  {
28572  &kZonePolicyC_Eur /*zonePolicy*/,
28573  "CE%T" /*format*/,
28574  240 /*offsetCode (3600/15)*/,
28575  0 /*offsetRemainder (3600%15)*/,
28576  0 /*deltaMinutes*/,
28577  1944 /*untilYear*/,
28578  4 /*untilMonth*/,
28579  13 /*untilDay*/,
28580  0 /*untilTimeCode (0/15)*/,
28581  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28582  },
28583  // 3:00 Russia MSK/MSD 1990
28584  {
28585  &kZonePolicyRussia /*zonePolicy*/,
28586  "MSK/MSD" /*format*/,
28587  720 /*offsetCode (10800/15)*/,
28588  0 /*offsetRemainder (10800%15)*/,
28589  0 /*deltaMinutes*/,
28590  1990 /*untilYear*/,
28591  1 /*untilMonth*/,
28592  1 /*untilDay*/,
28593  0 /*untilTimeCode (0/15)*/,
28594  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28595  },
28596  // 3:00 - MSK 1990 Jul 1 2:00
28597  {
28598  nullptr /*zonePolicy*/,
28599  "MSK" /*format*/,
28600  720 /*offsetCode (10800/15)*/,
28601  0 /*offsetRemainder (10800%15)*/,
28602  0 /*deltaMinutes*/,
28603  1990 /*untilYear*/,
28604  7 /*untilMonth*/,
28605  1 /*untilDay*/,
28606  480 /*untilTimeCode (7200/15)*/,
28607  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28608  },
28609  // 2:00 - EET 1992 Mar 20
28610  {
28611  nullptr /*zonePolicy*/,
28612  "EET" /*format*/,
28613  480 /*offsetCode (7200/15)*/,
28614  0 /*offsetRemainder (7200%15)*/,
28615  0 /*deltaMinutes*/,
28616  1992 /*untilYear*/,
28617  3 /*untilMonth*/,
28618  20 /*untilDay*/,
28619  0 /*untilTimeCode (0/15)*/,
28620  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28621  },
28622  // 2:00 C-Eur EE%sT 1994 May
28623  {
28624  &kZonePolicyC_Eur /*zonePolicy*/,
28625  "EE%T" /*format*/,
28626  480 /*offsetCode (7200/15)*/,
28627  0 /*offsetRemainder (7200%15)*/,
28628  0 /*deltaMinutes*/,
28629  1994 /*untilYear*/,
28630  5 /*untilMonth*/,
28631  1 /*untilDay*/,
28632  0 /*untilTimeCode (0/15)*/,
28633  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28634  },
28635  // 3:00 C-Eur MSK/MSD 1996 Mar 31 0:00s
28636  {
28637  &kZonePolicyC_Eur /*zonePolicy*/,
28638  "MSK/MSD" /*format*/,
28639  720 /*offsetCode (10800/15)*/,
28640  0 /*offsetRemainder (10800%15)*/,
28641  0 /*deltaMinutes*/,
28642  1996 /*untilYear*/,
28643  3 /*untilMonth*/,
28644  31 /*untilDay*/,
28645  0 /*untilTimeCode (0/15)*/,
28646  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28647  },
28648  // 3:00 1:00 MSD 1996 Oct 27 3:00s
28649  {
28650  nullptr /*zonePolicy*/,
28651  "MSD" /*format*/,
28652  720 /*offsetCode (10800/15)*/,
28653  0 /*offsetRemainder (10800%15)*/,
28654  60 /*deltaMinutes*/,
28655  1996 /*untilYear*/,
28656  10 /*untilMonth*/,
28657  27 /*untilDay*/,
28658  720 /*untilTimeCode (10800/15)*/,
28659  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28660  },
28661  // 3:00 - MSK 1997 Mar lastSun 1:00u
28662  {
28663  nullptr /*zonePolicy*/,
28664  "MSK" /*format*/,
28665  720 /*offsetCode (10800/15)*/,
28666  0 /*offsetRemainder (10800%15)*/,
28667  0 /*deltaMinutes*/,
28668  1997 /*untilYear*/,
28669  3 /*untilMonth*/,
28670  30 /*untilDay*/,
28671  240 /*untilTimeCode (3600/15)*/,
28672  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
28673  },
28674  // 2:00 EU EE%sT 2014 Mar 30 2:00
28675  {
28676  &kZonePolicyEU /*zonePolicy*/,
28677  "EE%T" /*format*/,
28678  480 /*offsetCode (7200/15)*/,
28679  0 /*offsetRemainder (7200%15)*/,
28680  0 /*deltaMinutes*/,
28681  2014 /*untilYear*/,
28682  3 /*untilMonth*/,
28683  30 /*untilDay*/,
28684  480 /*untilTimeCode (7200/15)*/,
28685  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28686  },
28687  // 4:00 - MSK 2014 Oct 26 2:00s
28688  {
28689  nullptr /*zonePolicy*/,
28690  "MSK" /*format*/,
28691  960 /*offsetCode (14400/15)*/,
28692  0 /*offsetRemainder (14400%15)*/,
28693  0 /*deltaMinutes*/,
28694  2014 /*untilYear*/,
28695  10 /*untilMonth*/,
28696  26 /*untilDay*/,
28697  480 /*untilTimeCode (7200/15)*/,
28698  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28699  },
28700  // 3:00 - MSK
28701  {
28702  nullptr /*zonePolicy*/,
28703  "MSK" /*format*/,
28704  720 /*offsetCode (10800/15)*/,
28705  0 /*offsetRemainder (10800%15)*/,
28706  0 /*deltaMinutes*/,
28707  32767 /*untilYear*/,
28708  1 /*untilMonth*/,
28709  1 /*untilDay*/,
28710  0 /*untilTimeCode (0/15)*/,
28711  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28712  },
28713 
28714 };
28715 
28716 static const char kZoneNameEurope_Simferopol[] ACE_TIME_PROGMEM = "\x0b" "Simferopol";
28717 
28718 const complete::ZoneInfo kZoneEurope_Simferopol ACE_TIME_PROGMEM = {
28719  kZoneNameEurope_Simferopol /*name*/,
28720  0xda9eb724 /*zoneId*/,
28721  &kZoneContext /*zoneContext*/,
28722  15 /*numEras*/,
28723  kZoneEraEurope_Simferopol /*eras*/,
28724  nullptr /*targetInfo*/,
28725 };
28726 
28727 //---------------------------------------------------------------------------
28728 // Zone name: Europe/Sofia
28729 // Eras: 10
28730 //---------------------------------------------------------------------------
28731 
28732 static const complete::ZoneEra kZoneEraEurope_Sofia[] ACE_TIME_PROGMEM = {
28733  // 1:33:16 - LMT 1880
28734  {
28735  nullptr /*zonePolicy*/,
28736  "LMT" /*format*/,
28737  373 /*offsetCode (5596/15)*/,
28738  1 /*offsetRemainder (5596%15)*/,
28739  0 /*deltaMinutes*/,
28740  1880 /*untilYear*/,
28741  1 /*untilMonth*/,
28742  1 /*untilDay*/,
28743  0 /*untilTimeCode (0/15)*/,
28744  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28745  },
28746  // 1:56:56 - IMT 1894 Nov 30
28747  {
28748  nullptr /*zonePolicy*/,
28749  "IMT" /*format*/,
28750  467 /*offsetCode (7016/15)*/,
28751  11 /*offsetRemainder (7016%15)*/,
28752  0 /*deltaMinutes*/,
28753  1894 /*untilYear*/,
28754  11 /*untilMonth*/,
28755  30 /*untilDay*/,
28756  0 /*untilTimeCode (0/15)*/,
28757  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28758  },
28759  // 2:00 - EET 1942 Nov 2 3:00
28760  {
28761  nullptr /*zonePolicy*/,
28762  "EET" /*format*/,
28763  480 /*offsetCode (7200/15)*/,
28764  0 /*offsetRemainder (7200%15)*/,
28765  0 /*deltaMinutes*/,
28766  1942 /*untilYear*/,
28767  11 /*untilMonth*/,
28768  2 /*untilDay*/,
28769  720 /*untilTimeCode (10800/15)*/,
28770  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28771  },
28772  // 1:00 C-Eur CE%sT 1945
28773  {
28774  &kZonePolicyC_Eur /*zonePolicy*/,
28775  "CE%T" /*format*/,
28776  240 /*offsetCode (3600/15)*/,
28777  0 /*offsetRemainder (3600%15)*/,
28778  0 /*deltaMinutes*/,
28779  1945 /*untilYear*/,
28780  1 /*untilMonth*/,
28781  1 /*untilDay*/,
28782  0 /*untilTimeCode (0/15)*/,
28783  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28784  },
28785  // 1:00 - CET 1945 Apr 2 3:00
28786  {
28787  nullptr /*zonePolicy*/,
28788  "CET" /*format*/,
28789  240 /*offsetCode (3600/15)*/,
28790  0 /*offsetRemainder (3600%15)*/,
28791  0 /*deltaMinutes*/,
28792  1945 /*untilYear*/,
28793  4 /*untilMonth*/,
28794  2 /*untilDay*/,
28795  720 /*untilTimeCode (10800/15)*/,
28796  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28797  },
28798  // 2:00 - EET 1979 Mar 31 23:00
28799  {
28800  nullptr /*zonePolicy*/,
28801  "EET" /*format*/,
28802  480 /*offsetCode (7200/15)*/,
28803  0 /*offsetRemainder (7200%15)*/,
28804  0 /*deltaMinutes*/,
28805  1979 /*untilYear*/,
28806  3 /*untilMonth*/,
28807  31 /*untilDay*/,
28808  5520 /*untilTimeCode (82800/15)*/,
28809  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28810  },
28811  // 2:00 Bulg EE%sT 1982 Sep 26 3:00
28812  {
28813  &kZonePolicyBulg /*zonePolicy*/,
28814  "EE%T" /*format*/,
28815  480 /*offsetCode (7200/15)*/,
28816  0 /*offsetRemainder (7200%15)*/,
28817  0 /*deltaMinutes*/,
28818  1982 /*untilYear*/,
28819  9 /*untilMonth*/,
28820  26 /*untilDay*/,
28821  720 /*untilTimeCode (10800/15)*/,
28822  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28823  },
28824  // 2:00 C-Eur EE%sT 1991
28825  {
28826  &kZonePolicyC_Eur /*zonePolicy*/,
28827  "EE%T" /*format*/,
28828  480 /*offsetCode (7200/15)*/,
28829  0 /*offsetRemainder (7200%15)*/,
28830  0 /*deltaMinutes*/,
28831  1991 /*untilYear*/,
28832  1 /*untilMonth*/,
28833  1 /*untilDay*/,
28834  0 /*untilTimeCode (0/15)*/,
28835  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28836  },
28837  // 2:00 E-Eur EE%sT 1997
28838  {
28839  &kZonePolicyE_Eur /*zonePolicy*/,
28840  "EE%T" /*format*/,
28841  480 /*offsetCode (7200/15)*/,
28842  0 /*offsetRemainder (7200%15)*/,
28843  0 /*deltaMinutes*/,
28844  1997 /*untilYear*/,
28845  1 /*untilMonth*/,
28846  1 /*untilDay*/,
28847  0 /*untilTimeCode (0/15)*/,
28848  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28849  },
28850  // 2:00 EU EE%sT
28851  {
28852  &kZonePolicyEU /*zonePolicy*/,
28853  "EE%T" /*format*/,
28854  480 /*offsetCode (7200/15)*/,
28855  0 /*offsetRemainder (7200%15)*/,
28856  0 /*deltaMinutes*/,
28857  32767 /*untilYear*/,
28858  1 /*untilMonth*/,
28859  1 /*untilDay*/,
28860  0 /*untilTimeCode (0/15)*/,
28861  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28862  },
28863 
28864 };
28865 
28866 static const char kZoneNameEurope_Sofia[] ACE_TIME_PROGMEM = "\x0b" "Sofia";
28867 
28868 const complete::ZoneInfo kZoneEurope_Sofia ACE_TIME_PROGMEM = {
28869  kZoneNameEurope_Sofia /*name*/,
28870  0xfb898656 /*zoneId*/,
28871  &kZoneContext /*zoneContext*/,
28872  10 /*numEras*/,
28873  kZoneEraEurope_Sofia /*eras*/,
28874  nullptr /*targetInfo*/,
28875 };
28876 
28877 //---------------------------------------------------------------------------
28878 // Zone name: Europe/Tallinn
28879 // Eras: 13
28880 //---------------------------------------------------------------------------
28881 
28882 static const complete::ZoneEra kZoneEraEurope_Tallinn[] ACE_TIME_PROGMEM = {
28883  // 1:39:00 - LMT 1880
28884  {
28885  nullptr /*zonePolicy*/,
28886  "LMT" /*format*/,
28887  396 /*offsetCode (5940/15)*/,
28888  0 /*offsetRemainder (5940%15)*/,
28889  0 /*deltaMinutes*/,
28890  1880 /*untilYear*/,
28891  1 /*untilMonth*/,
28892  1 /*untilDay*/,
28893  0 /*untilTimeCode (0/15)*/,
28894  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28895  },
28896  // 1:39:00 - TMT 1918 Feb
28897  {
28898  nullptr /*zonePolicy*/,
28899  "TMT" /*format*/,
28900  396 /*offsetCode (5940/15)*/,
28901  0 /*offsetRemainder (5940%15)*/,
28902  0 /*deltaMinutes*/,
28903  1918 /*untilYear*/,
28904  2 /*untilMonth*/,
28905  1 /*untilDay*/,
28906  0 /*untilTimeCode (0/15)*/,
28907  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28908  },
28909  // 1:00 C-Eur CE%sT 1919 Jul
28910  {
28911  &kZonePolicyC_Eur /*zonePolicy*/,
28912  "CE%T" /*format*/,
28913  240 /*offsetCode (3600/15)*/,
28914  0 /*offsetRemainder (3600%15)*/,
28915  0 /*deltaMinutes*/,
28916  1919 /*untilYear*/,
28917  7 /*untilMonth*/,
28918  1 /*untilDay*/,
28919  0 /*untilTimeCode (0/15)*/,
28920  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28921  },
28922  // 1:39:00 - TMT 1921 May
28923  {
28924  nullptr /*zonePolicy*/,
28925  "TMT" /*format*/,
28926  396 /*offsetCode (5940/15)*/,
28927  0 /*offsetRemainder (5940%15)*/,
28928  0 /*deltaMinutes*/,
28929  1921 /*untilYear*/,
28930  5 /*untilMonth*/,
28931  1 /*untilDay*/,
28932  0 /*untilTimeCode (0/15)*/,
28933  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28934  },
28935  // 2:00 - EET 1940 Aug 6
28936  {
28937  nullptr /*zonePolicy*/,
28938  "EET" /*format*/,
28939  480 /*offsetCode (7200/15)*/,
28940  0 /*offsetRemainder (7200%15)*/,
28941  0 /*deltaMinutes*/,
28942  1940 /*untilYear*/,
28943  8 /*untilMonth*/,
28944  6 /*untilDay*/,
28945  0 /*untilTimeCode (0/15)*/,
28946  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28947  },
28948  // 3:00 - MSK 1941 Sep 15
28949  {
28950  nullptr /*zonePolicy*/,
28951  "MSK" /*format*/,
28952  720 /*offsetCode (10800/15)*/,
28953  0 /*offsetRemainder (10800%15)*/,
28954  0 /*deltaMinutes*/,
28955  1941 /*untilYear*/,
28956  9 /*untilMonth*/,
28957  15 /*untilDay*/,
28958  0 /*untilTimeCode (0/15)*/,
28959  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28960  },
28961  // 1:00 C-Eur CE%sT 1944 Sep 22
28962  {
28963  &kZonePolicyC_Eur /*zonePolicy*/,
28964  "CE%T" /*format*/,
28965  240 /*offsetCode (3600/15)*/,
28966  0 /*offsetRemainder (3600%15)*/,
28967  0 /*deltaMinutes*/,
28968  1944 /*untilYear*/,
28969  9 /*untilMonth*/,
28970  22 /*untilDay*/,
28971  0 /*untilTimeCode (0/15)*/,
28972  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
28973  },
28974  // 3:00 Russia MSK/MSD 1989 Mar 26 2:00s
28975  {
28976  &kZonePolicyRussia /*zonePolicy*/,
28977  "MSK/MSD" /*format*/,
28978  720 /*offsetCode (10800/15)*/,
28979  0 /*offsetRemainder (10800%15)*/,
28980  0 /*deltaMinutes*/,
28981  1989 /*untilYear*/,
28982  3 /*untilMonth*/,
28983  26 /*untilDay*/,
28984  480 /*untilTimeCode (7200/15)*/,
28985  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28986  },
28987  // 2:00 1:00 EEST 1989 Sep 24 2:00s
28988  {
28989  nullptr /*zonePolicy*/,
28990  "EEST" /*format*/,
28991  480 /*offsetCode (7200/15)*/,
28992  0 /*offsetRemainder (7200%15)*/,
28993  60 /*deltaMinutes*/,
28994  1989 /*untilYear*/,
28995  9 /*untilMonth*/,
28996  24 /*untilDay*/,
28997  480 /*untilTimeCode (7200/15)*/,
28998  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
28999  },
29000  // 2:00 C-Eur EE%sT 1998 Sep 22
29001  {
29002  &kZonePolicyC_Eur /*zonePolicy*/,
29003  "EE%T" /*format*/,
29004  480 /*offsetCode (7200/15)*/,
29005  0 /*offsetRemainder (7200%15)*/,
29006  0 /*deltaMinutes*/,
29007  1998 /*untilYear*/,
29008  9 /*untilMonth*/,
29009  22 /*untilDay*/,
29010  0 /*untilTimeCode (0/15)*/,
29011  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29012  },
29013  // 2:00 EU EE%sT 1999 Oct 31 4:00
29014  {
29015  &kZonePolicyEU /*zonePolicy*/,
29016  "EE%T" /*format*/,
29017  480 /*offsetCode (7200/15)*/,
29018  0 /*offsetRemainder (7200%15)*/,
29019  0 /*deltaMinutes*/,
29020  1999 /*untilYear*/,
29021  10 /*untilMonth*/,
29022  31 /*untilDay*/,
29023  960 /*untilTimeCode (14400/15)*/,
29024  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29025  },
29026  // 2:00 - EET 2002 Feb 21
29027  {
29028  nullptr /*zonePolicy*/,
29029  "EET" /*format*/,
29030  480 /*offsetCode (7200/15)*/,
29031  0 /*offsetRemainder (7200%15)*/,
29032  0 /*deltaMinutes*/,
29033  2002 /*untilYear*/,
29034  2 /*untilMonth*/,
29035  21 /*untilDay*/,
29036  0 /*untilTimeCode (0/15)*/,
29037  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29038  },
29039  // 2:00 EU EE%sT
29040  {
29041  &kZonePolicyEU /*zonePolicy*/,
29042  "EE%T" /*format*/,
29043  480 /*offsetCode (7200/15)*/,
29044  0 /*offsetRemainder (7200%15)*/,
29045  0 /*deltaMinutes*/,
29046  32767 /*untilYear*/,
29047  1 /*untilMonth*/,
29048  1 /*untilDay*/,
29049  0 /*untilTimeCode (0/15)*/,
29050  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29051  },
29052 
29053 };
29054 
29055 static const char kZoneNameEurope_Tallinn[] ACE_TIME_PROGMEM = "\x0b" "Tallinn";
29056 
29057 const complete::ZoneInfo kZoneEurope_Tallinn ACE_TIME_PROGMEM = {
29058  kZoneNameEurope_Tallinn /*name*/,
29059  0x30c4e096 /*zoneId*/,
29060  &kZoneContext /*zoneContext*/,
29061  13 /*numEras*/,
29062  kZoneEraEurope_Tallinn /*eras*/,
29063  nullptr /*targetInfo*/,
29064 };
29065 
29066 //---------------------------------------------------------------------------
29067 // Zone name: Europe/Tirane
29068 // Eras: 4
29069 //---------------------------------------------------------------------------
29070 
29071 static const complete::ZoneEra kZoneEraEurope_Tirane[] ACE_TIME_PROGMEM = {
29072  // 1:19:20 - LMT 1914
29073  {
29074  nullptr /*zonePolicy*/,
29075  "LMT" /*format*/,
29076  317 /*offsetCode (4760/15)*/,
29077  5 /*offsetRemainder (4760%15)*/,
29078  0 /*deltaMinutes*/,
29079  1914 /*untilYear*/,
29080  1 /*untilMonth*/,
29081  1 /*untilDay*/,
29082  0 /*untilTimeCode (0/15)*/,
29083  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29084  },
29085  // 1:00 - CET 1940 Jun 16
29086  {
29087  nullptr /*zonePolicy*/,
29088  "CET" /*format*/,
29089  240 /*offsetCode (3600/15)*/,
29090  0 /*offsetRemainder (3600%15)*/,
29091  0 /*deltaMinutes*/,
29092  1940 /*untilYear*/,
29093  6 /*untilMonth*/,
29094  16 /*untilDay*/,
29095  0 /*untilTimeCode (0/15)*/,
29096  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29097  },
29098  // 1:00 Albania CE%sT 1984 Jul
29099  {
29100  &kZonePolicyAlbania /*zonePolicy*/,
29101  "CE%T" /*format*/,
29102  240 /*offsetCode (3600/15)*/,
29103  0 /*offsetRemainder (3600%15)*/,
29104  0 /*deltaMinutes*/,
29105  1984 /*untilYear*/,
29106  7 /*untilMonth*/,
29107  1 /*untilDay*/,
29108  0 /*untilTimeCode (0/15)*/,
29109  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29110  },
29111  // 1:00 EU CE%sT
29112  {
29113  &kZonePolicyEU /*zonePolicy*/,
29114  "CE%T" /*format*/,
29115  240 /*offsetCode (3600/15)*/,
29116  0 /*offsetRemainder (3600%15)*/,
29117  0 /*deltaMinutes*/,
29118  32767 /*untilYear*/,
29119  1 /*untilMonth*/,
29120  1 /*untilDay*/,
29121  0 /*untilTimeCode (0/15)*/,
29122  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29123  },
29124 
29125 };
29126 
29127 static const char kZoneNameEurope_Tirane[] ACE_TIME_PROGMEM = "\x0b" "Tirane";
29128 
29129 const complete::ZoneInfo kZoneEurope_Tirane ACE_TIME_PROGMEM = {
29130  kZoneNameEurope_Tirane /*name*/,
29131  0x6ea95b47 /*zoneId*/,
29132  &kZoneContext /*zoneContext*/,
29133  4 /*numEras*/,
29134  kZoneEraEurope_Tirane /*eras*/,
29135  nullptr /*targetInfo*/,
29136 };
29137 
29138 //---------------------------------------------------------------------------
29139 // Zone name: Europe/Ulyanovsk
29140 // Eras: 9
29141 //---------------------------------------------------------------------------
29142 
29143 static const complete::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = {
29144  // 3:13:36 - LMT 1919 Jul 1 0:00u
29145  {
29146  nullptr /*zonePolicy*/,
29147  "LMT" /*format*/,
29148  774 /*offsetCode (11616/15)*/,
29149  6 /*offsetRemainder (11616%15)*/,
29150  0 /*deltaMinutes*/,
29151  1919 /*untilYear*/,
29152  7 /*untilMonth*/,
29153  1 /*untilDay*/,
29154  0 /*untilTimeCode (0/15)*/,
29155  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
29156  },
29157  // 3:00 - %z 1930 Jun 21
29158  {
29159  nullptr /*zonePolicy*/,
29160  "" /*format*/,
29161  720 /*offsetCode (10800/15)*/,
29162  0 /*offsetRemainder (10800%15)*/,
29163  0 /*deltaMinutes*/,
29164  1930 /*untilYear*/,
29165  6 /*untilMonth*/,
29166  21 /*untilDay*/,
29167  0 /*untilTimeCode (0/15)*/,
29168  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29169  },
29170  // 4:00 Russia %z 1989 Mar 26 2:00s
29171  {
29172  &kZonePolicyRussia /*zonePolicy*/,
29173  "" /*format*/,
29174  960 /*offsetCode (14400/15)*/,
29175  0 /*offsetRemainder (14400%15)*/,
29176  0 /*deltaMinutes*/,
29177  1989 /*untilYear*/,
29178  3 /*untilMonth*/,
29179  26 /*untilDay*/,
29180  480 /*untilTimeCode (7200/15)*/,
29181  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29182  },
29183  // 3:00 Russia %z 1991 Mar 31 2:00s
29184  {
29185  &kZonePolicyRussia /*zonePolicy*/,
29186  "" /*format*/,
29187  720 /*offsetCode (10800/15)*/,
29188  0 /*offsetRemainder (10800%15)*/,
29189  0 /*deltaMinutes*/,
29190  1991 /*untilYear*/,
29191  3 /*untilMonth*/,
29192  31 /*untilDay*/,
29193  480 /*untilTimeCode (7200/15)*/,
29194  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29195  },
29196  // 2:00 Russia %z 1992 Jan 19 2:00s
29197  {
29198  &kZonePolicyRussia /*zonePolicy*/,
29199  "" /*format*/,
29200  480 /*offsetCode (7200/15)*/,
29201  0 /*offsetRemainder (7200%15)*/,
29202  0 /*deltaMinutes*/,
29203  1992 /*untilYear*/,
29204  1 /*untilMonth*/,
29205  19 /*untilDay*/,
29206  480 /*untilTimeCode (7200/15)*/,
29207  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29208  },
29209  // 3:00 Russia %z 2011 Mar 27 2:00s
29210  {
29211  &kZonePolicyRussia /*zonePolicy*/,
29212  "" /*format*/,
29213  720 /*offsetCode (10800/15)*/,
29214  0 /*offsetRemainder (10800%15)*/,
29215  0 /*deltaMinutes*/,
29216  2011 /*untilYear*/,
29217  3 /*untilMonth*/,
29218  27 /*untilDay*/,
29219  480 /*untilTimeCode (7200/15)*/,
29220  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29221  },
29222  // 4:00 - %z 2014 Oct 26 2:00s
29223  {
29224  nullptr /*zonePolicy*/,
29225  "" /*format*/,
29226  960 /*offsetCode (14400/15)*/,
29227  0 /*offsetRemainder (14400%15)*/,
29228  0 /*deltaMinutes*/,
29229  2014 /*untilYear*/,
29230  10 /*untilMonth*/,
29231  26 /*untilDay*/,
29232  480 /*untilTimeCode (7200/15)*/,
29233  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29234  },
29235  // 3:00 - %z 2016 Mar 27 2:00s
29236  {
29237  nullptr /*zonePolicy*/,
29238  "" /*format*/,
29239  720 /*offsetCode (10800/15)*/,
29240  0 /*offsetRemainder (10800%15)*/,
29241  0 /*deltaMinutes*/,
29242  2016 /*untilYear*/,
29243  3 /*untilMonth*/,
29244  27 /*untilDay*/,
29245  480 /*untilTimeCode (7200/15)*/,
29246  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29247  },
29248  // 4:00 - %z
29249  {
29250  nullptr /*zonePolicy*/,
29251  "" /*format*/,
29252  960 /*offsetCode (14400/15)*/,
29253  0 /*offsetRemainder (14400%15)*/,
29254  0 /*deltaMinutes*/,
29255  32767 /*untilYear*/,
29256  1 /*untilMonth*/,
29257  1 /*untilDay*/,
29258  0 /*untilTimeCode (0/15)*/,
29259  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29260  },
29261 
29262 };
29263 
29264 static const char kZoneNameEurope_Ulyanovsk[] ACE_TIME_PROGMEM = "\x0b" "Ulyanovsk";
29265 
29266 const complete::ZoneInfo kZoneEurope_Ulyanovsk ACE_TIME_PROGMEM = {
29267  kZoneNameEurope_Ulyanovsk /*name*/,
29268  0xe03783d0 /*zoneId*/,
29269  &kZoneContext /*zoneContext*/,
29270  9 /*numEras*/,
29271  kZoneEraEurope_Ulyanovsk /*eras*/,
29272  nullptr /*targetInfo*/,
29273 };
29274 
29275 //---------------------------------------------------------------------------
29276 // Zone name: Europe/Vienna
29277 // Eras: 8
29278 //---------------------------------------------------------------------------
29279 
29280 static const complete::ZoneEra kZoneEraEurope_Vienna[] ACE_TIME_PROGMEM = {
29281  // 1:05:21 - LMT 1893 Apr
29282  {
29283  nullptr /*zonePolicy*/,
29284  "LMT" /*format*/,
29285  261 /*offsetCode (3921/15)*/,
29286  6 /*offsetRemainder (3921%15)*/,
29287  0 /*deltaMinutes*/,
29288  1893 /*untilYear*/,
29289  4 /*untilMonth*/,
29290  1 /*untilDay*/,
29291  0 /*untilTimeCode (0/15)*/,
29292  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29293  },
29294  // 1:00 C-Eur CE%sT 1920
29295  {
29296  &kZonePolicyC_Eur /*zonePolicy*/,
29297  "CE%T" /*format*/,
29298  240 /*offsetCode (3600/15)*/,
29299  0 /*offsetRemainder (3600%15)*/,
29300  0 /*deltaMinutes*/,
29301  1920 /*untilYear*/,
29302  1 /*untilMonth*/,
29303  1 /*untilDay*/,
29304  0 /*untilTimeCode (0/15)*/,
29305  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29306  },
29307  // 1:00 Austria CE%sT 1940 Apr 1 2:00s
29308  {
29309  &kZonePolicyAustria /*zonePolicy*/,
29310  "CE%T" /*format*/,
29311  240 /*offsetCode (3600/15)*/,
29312  0 /*offsetRemainder (3600%15)*/,
29313  0 /*deltaMinutes*/,
29314  1940 /*untilYear*/,
29315  4 /*untilMonth*/,
29316  1 /*untilDay*/,
29317  480 /*untilTimeCode (7200/15)*/,
29318  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29319  },
29320  // 1:00 C-Eur CE%sT 1945 Apr 2 2:00s
29321  {
29322  &kZonePolicyC_Eur /*zonePolicy*/,
29323  "CE%T" /*format*/,
29324  240 /*offsetCode (3600/15)*/,
29325  0 /*offsetRemainder (3600%15)*/,
29326  0 /*deltaMinutes*/,
29327  1945 /*untilYear*/,
29328  4 /*untilMonth*/,
29329  2 /*untilDay*/,
29330  480 /*untilTimeCode (7200/15)*/,
29331  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29332  },
29333  // 1:00 1:00 CEST 1945 Apr 12 2:00s
29334  {
29335  nullptr /*zonePolicy*/,
29336  "CEST" /*format*/,
29337  240 /*offsetCode (3600/15)*/,
29338  0 /*offsetRemainder (3600%15)*/,
29339  60 /*deltaMinutes*/,
29340  1945 /*untilYear*/,
29341  4 /*untilMonth*/,
29342  12 /*untilDay*/,
29343  480 /*untilTimeCode (7200/15)*/,
29344  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29345  },
29346  // 1:00 - CET 1946
29347  {
29348  nullptr /*zonePolicy*/,
29349  "CET" /*format*/,
29350  240 /*offsetCode (3600/15)*/,
29351  0 /*offsetRemainder (3600%15)*/,
29352  0 /*deltaMinutes*/,
29353  1946 /*untilYear*/,
29354  1 /*untilMonth*/,
29355  1 /*untilDay*/,
29356  0 /*untilTimeCode (0/15)*/,
29357  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29358  },
29359  // 1:00 Austria CE%sT 1981
29360  {
29361  &kZonePolicyAustria /*zonePolicy*/,
29362  "CE%T" /*format*/,
29363  240 /*offsetCode (3600/15)*/,
29364  0 /*offsetRemainder (3600%15)*/,
29365  0 /*deltaMinutes*/,
29366  1981 /*untilYear*/,
29367  1 /*untilMonth*/,
29368  1 /*untilDay*/,
29369  0 /*untilTimeCode (0/15)*/,
29370  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29371  },
29372  // 1:00 EU CE%sT
29373  {
29374  &kZonePolicyEU /*zonePolicy*/,
29375  "CE%T" /*format*/,
29376  240 /*offsetCode (3600/15)*/,
29377  0 /*offsetRemainder (3600%15)*/,
29378  0 /*deltaMinutes*/,
29379  32767 /*untilYear*/,
29380  1 /*untilMonth*/,
29381  1 /*untilDay*/,
29382  0 /*untilTimeCode (0/15)*/,
29383  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29384  },
29385 
29386 };
29387 
29388 static const char kZoneNameEurope_Vienna[] ACE_TIME_PROGMEM = "\x0b" "Vienna";
29389 
29390 const complete::ZoneInfo kZoneEurope_Vienna ACE_TIME_PROGMEM = {
29391  kZoneNameEurope_Vienna /*name*/,
29392  0x734cc2e5 /*zoneId*/,
29393  &kZoneContext /*zoneContext*/,
29394  8 /*numEras*/,
29395  kZoneEraEurope_Vienna /*eras*/,
29396  nullptr /*targetInfo*/,
29397 };
29398 
29399 //---------------------------------------------------------------------------
29400 // Zone name: Europe/Vilnius
29401 // Eras: 15
29402 //---------------------------------------------------------------------------
29403 
29404 static const complete::ZoneEra kZoneEraEurope_Vilnius[] ACE_TIME_PROGMEM = {
29405  // 1:41:16 - LMT 1880
29406  {
29407  nullptr /*zonePolicy*/,
29408  "LMT" /*format*/,
29409  405 /*offsetCode (6076/15)*/,
29410  1 /*offsetRemainder (6076%15)*/,
29411  0 /*deltaMinutes*/,
29412  1880 /*untilYear*/,
29413  1 /*untilMonth*/,
29414  1 /*untilDay*/,
29415  0 /*untilTimeCode (0/15)*/,
29416  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29417  },
29418  // 1:24:00 - WMT 1917
29419  {
29420  nullptr /*zonePolicy*/,
29421  "WMT" /*format*/,
29422  336 /*offsetCode (5040/15)*/,
29423  0 /*offsetRemainder (5040%15)*/,
29424  0 /*deltaMinutes*/,
29425  1917 /*untilYear*/,
29426  1 /*untilMonth*/,
29427  1 /*untilDay*/,
29428  0 /*untilTimeCode (0/15)*/,
29429  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29430  },
29431  // 1:35:36 - KMT 1919 Oct 10
29432  {
29433  nullptr /*zonePolicy*/,
29434  "KMT" /*format*/,
29435  382 /*offsetCode (5736/15)*/,
29436  6 /*offsetRemainder (5736%15)*/,
29437  0 /*deltaMinutes*/,
29438  1919 /*untilYear*/,
29439  10 /*untilMonth*/,
29440  10 /*untilDay*/,
29441  0 /*untilTimeCode (0/15)*/,
29442  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29443  },
29444  // 1:00 - CET 1920 Jul 12
29445  {
29446  nullptr /*zonePolicy*/,
29447  "CET" /*format*/,
29448  240 /*offsetCode (3600/15)*/,
29449  0 /*offsetRemainder (3600%15)*/,
29450  0 /*deltaMinutes*/,
29451  1920 /*untilYear*/,
29452  7 /*untilMonth*/,
29453  12 /*untilDay*/,
29454  0 /*untilTimeCode (0/15)*/,
29455  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29456  },
29457  // 2:00 - EET 1920 Oct 9
29458  {
29459  nullptr /*zonePolicy*/,
29460  "EET" /*format*/,
29461  480 /*offsetCode (7200/15)*/,
29462  0 /*offsetRemainder (7200%15)*/,
29463  0 /*deltaMinutes*/,
29464  1920 /*untilYear*/,
29465  10 /*untilMonth*/,
29466  9 /*untilDay*/,
29467  0 /*untilTimeCode (0/15)*/,
29468  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29469  },
29470  // 1:00 - CET 1940 Aug 3
29471  {
29472  nullptr /*zonePolicy*/,
29473  "CET" /*format*/,
29474  240 /*offsetCode (3600/15)*/,
29475  0 /*offsetRemainder (3600%15)*/,
29476  0 /*deltaMinutes*/,
29477  1940 /*untilYear*/,
29478  8 /*untilMonth*/,
29479  3 /*untilDay*/,
29480  0 /*untilTimeCode (0/15)*/,
29481  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29482  },
29483  // 3:00 - MSK 1941 Jun 24
29484  {
29485  nullptr /*zonePolicy*/,
29486  "MSK" /*format*/,
29487  720 /*offsetCode (10800/15)*/,
29488  0 /*offsetRemainder (10800%15)*/,
29489  0 /*deltaMinutes*/,
29490  1941 /*untilYear*/,
29491  6 /*untilMonth*/,
29492  24 /*untilDay*/,
29493  0 /*untilTimeCode (0/15)*/,
29494  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29495  },
29496  // 1:00 C-Eur CE%sT 1944 Aug
29497  {
29498  &kZonePolicyC_Eur /*zonePolicy*/,
29499  "CE%T" /*format*/,
29500  240 /*offsetCode (3600/15)*/,
29501  0 /*offsetRemainder (3600%15)*/,
29502  0 /*deltaMinutes*/,
29503  1944 /*untilYear*/,
29504  8 /*untilMonth*/,
29505  1 /*untilDay*/,
29506  0 /*untilTimeCode (0/15)*/,
29507  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29508  },
29509  // 3:00 Russia MSK/MSD 1989 Mar 26 2:00s
29510  {
29511  &kZonePolicyRussia /*zonePolicy*/,
29512  "MSK/MSD" /*format*/,
29513  720 /*offsetCode (10800/15)*/,
29514  0 /*offsetRemainder (10800%15)*/,
29515  0 /*deltaMinutes*/,
29516  1989 /*untilYear*/,
29517  3 /*untilMonth*/,
29518  26 /*untilDay*/,
29519  480 /*untilTimeCode (7200/15)*/,
29520  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29521  },
29522  // 2:00 Russia EE%sT 1991 Sep 29 2:00s
29523  {
29524  &kZonePolicyRussia /*zonePolicy*/,
29525  "EE%T" /*format*/,
29526  480 /*offsetCode (7200/15)*/,
29527  0 /*offsetRemainder (7200%15)*/,
29528  0 /*deltaMinutes*/,
29529  1991 /*untilYear*/,
29530  9 /*untilMonth*/,
29531  29 /*untilDay*/,
29532  480 /*untilTimeCode (7200/15)*/,
29533  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29534  },
29535  // 2:00 C-Eur EE%sT 1998
29536  {
29537  &kZonePolicyC_Eur /*zonePolicy*/,
29538  "EE%T" /*format*/,
29539  480 /*offsetCode (7200/15)*/,
29540  0 /*offsetRemainder (7200%15)*/,
29541  0 /*deltaMinutes*/,
29542  1998 /*untilYear*/,
29543  1 /*untilMonth*/,
29544  1 /*untilDay*/,
29545  0 /*untilTimeCode (0/15)*/,
29546  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29547  },
29548  // 2:00 - EET 1998 Mar 29 1:00u
29549  {
29550  nullptr /*zonePolicy*/,
29551  "EET" /*format*/,
29552  480 /*offsetCode (7200/15)*/,
29553  0 /*offsetRemainder (7200%15)*/,
29554  0 /*deltaMinutes*/,
29555  1998 /*untilYear*/,
29556  3 /*untilMonth*/,
29557  29 /*untilDay*/,
29558  240 /*untilTimeCode (3600/15)*/,
29559  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
29560  },
29561  // 1:00 EU CE%sT 1999 Oct 31 1:00u
29562  {
29563  &kZonePolicyEU /*zonePolicy*/,
29564  "CE%T" /*format*/,
29565  240 /*offsetCode (3600/15)*/,
29566  0 /*offsetRemainder (3600%15)*/,
29567  0 /*deltaMinutes*/,
29568  1999 /*untilYear*/,
29569  10 /*untilMonth*/,
29570  31 /*untilDay*/,
29571  240 /*untilTimeCode (3600/15)*/,
29572  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
29573  },
29574  // 2:00 - EET 2003 Jan 1
29575  {
29576  nullptr /*zonePolicy*/,
29577  "EET" /*format*/,
29578  480 /*offsetCode (7200/15)*/,
29579  0 /*offsetRemainder (7200%15)*/,
29580  0 /*deltaMinutes*/,
29581  2003 /*untilYear*/,
29582  1 /*untilMonth*/,
29583  1 /*untilDay*/,
29584  0 /*untilTimeCode (0/15)*/,
29585  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29586  },
29587  // 2:00 EU EE%sT
29588  {
29589  &kZonePolicyEU /*zonePolicy*/,
29590  "EE%T" /*format*/,
29591  480 /*offsetCode (7200/15)*/,
29592  0 /*offsetRemainder (7200%15)*/,
29593  0 /*deltaMinutes*/,
29594  32767 /*untilYear*/,
29595  1 /*untilMonth*/,
29596  1 /*untilDay*/,
29597  0 /*untilTimeCode (0/15)*/,
29598  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29599  },
29600 
29601 };
29602 
29603 static const char kZoneNameEurope_Vilnius[] ACE_TIME_PROGMEM = "\x0b" "Vilnius";
29604 
29605 const complete::ZoneInfo kZoneEurope_Vilnius ACE_TIME_PROGMEM = {
29606  kZoneNameEurope_Vilnius /*name*/,
29607  0xdd63b8ce /*zoneId*/,
29608  &kZoneContext /*zoneContext*/,
29609  15 /*numEras*/,
29610  kZoneEraEurope_Vilnius /*eras*/,
29611  nullptr /*targetInfo*/,
29612 };
29613 
29614 //---------------------------------------------------------------------------
29615 // Zone name: Europe/Volgograd
29616 // Eras: 11
29617 //---------------------------------------------------------------------------
29618 
29619 static const complete::ZoneEra kZoneEraEurope_Volgograd[] ACE_TIME_PROGMEM = {
29620  // 2:57:40 - LMT 1920 Jan 3
29621  {
29622  nullptr /*zonePolicy*/,
29623  "LMT" /*format*/,
29624  710 /*offsetCode (10660/15)*/,
29625  10 /*offsetRemainder (10660%15)*/,
29626  0 /*deltaMinutes*/,
29627  1920 /*untilYear*/,
29628  1 /*untilMonth*/,
29629  3 /*untilDay*/,
29630  0 /*untilTimeCode (0/15)*/,
29631  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29632  },
29633  // 3:00 - %z 1930 Jun 21
29634  {
29635  nullptr /*zonePolicy*/,
29636  "" /*format*/,
29637  720 /*offsetCode (10800/15)*/,
29638  0 /*offsetRemainder (10800%15)*/,
29639  0 /*deltaMinutes*/,
29640  1930 /*untilYear*/,
29641  6 /*untilMonth*/,
29642  21 /*untilDay*/,
29643  0 /*untilTimeCode (0/15)*/,
29644  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29645  },
29646  // 4:00 - %z 1961 Nov 11
29647  {
29648  nullptr /*zonePolicy*/,
29649  "" /*format*/,
29650  960 /*offsetCode (14400/15)*/,
29651  0 /*offsetRemainder (14400%15)*/,
29652  0 /*deltaMinutes*/,
29653  1961 /*untilYear*/,
29654  11 /*untilMonth*/,
29655  11 /*untilDay*/,
29656  0 /*untilTimeCode (0/15)*/,
29657  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29658  },
29659  // 4:00 Russia %z 1988 Mar 27 2:00s
29660  {
29661  &kZonePolicyRussia /*zonePolicy*/,
29662  "" /*format*/,
29663  960 /*offsetCode (14400/15)*/,
29664  0 /*offsetRemainder (14400%15)*/,
29665  0 /*deltaMinutes*/,
29666  1988 /*untilYear*/,
29667  3 /*untilMonth*/,
29668  27 /*untilDay*/,
29669  480 /*untilTimeCode (7200/15)*/,
29670  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29671  },
29672  // 3:00 Russia MSK/MSD 1991 Mar 31 2:00s
29673  {
29674  &kZonePolicyRussia /*zonePolicy*/,
29675  "MSK/MSD" /*format*/,
29676  720 /*offsetCode (10800/15)*/,
29677  0 /*offsetRemainder (10800%15)*/,
29678  0 /*deltaMinutes*/,
29679  1991 /*untilYear*/,
29680  3 /*untilMonth*/,
29681  31 /*untilDay*/,
29682  480 /*untilTimeCode (7200/15)*/,
29683  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29684  },
29685  // 4:00 - %z 1992 Mar 29 2:00s
29686  {
29687  nullptr /*zonePolicy*/,
29688  "" /*format*/,
29689  960 /*offsetCode (14400/15)*/,
29690  0 /*offsetRemainder (14400%15)*/,
29691  0 /*deltaMinutes*/,
29692  1992 /*untilYear*/,
29693  3 /*untilMonth*/,
29694  29 /*untilDay*/,
29695  480 /*untilTimeCode (7200/15)*/,
29696  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29697  },
29698  // 3:00 Russia MSK/MSD 2011 Mar 27 2:00s
29699  {
29700  &kZonePolicyRussia /*zonePolicy*/,
29701  "MSK/MSD" /*format*/,
29702  720 /*offsetCode (10800/15)*/,
29703  0 /*offsetRemainder (10800%15)*/,
29704  0 /*deltaMinutes*/,
29705  2011 /*untilYear*/,
29706  3 /*untilMonth*/,
29707  27 /*untilDay*/,
29708  480 /*untilTimeCode (7200/15)*/,
29709  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29710  },
29711  // 4:00 - MSK 2014 Oct 26 2:00s
29712  {
29713  nullptr /*zonePolicy*/,
29714  "MSK" /*format*/,
29715  960 /*offsetCode (14400/15)*/,
29716  0 /*offsetRemainder (14400%15)*/,
29717  0 /*deltaMinutes*/,
29718  2014 /*untilYear*/,
29719  10 /*untilMonth*/,
29720  26 /*untilDay*/,
29721  480 /*untilTimeCode (7200/15)*/,
29722  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29723  },
29724  // 3:00 - MSK 2018 Oct 28 2:00s
29725  {
29726  nullptr /*zonePolicy*/,
29727  "MSK" /*format*/,
29728  720 /*offsetCode (10800/15)*/,
29729  0 /*offsetRemainder (10800%15)*/,
29730  0 /*deltaMinutes*/,
29731  2018 /*untilYear*/,
29732  10 /*untilMonth*/,
29733  28 /*untilDay*/,
29734  480 /*untilTimeCode (7200/15)*/,
29735  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29736  },
29737  // 4:00 - %z 2020 Dec 27 2:00s
29738  {
29739  nullptr /*zonePolicy*/,
29740  "" /*format*/,
29741  960 /*offsetCode (14400/15)*/,
29742  0 /*offsetRemainder (14400%15)*/,
29743  0 /*deltaMinutes*/,
29744  2020 /*untilYear*/,
29745  12 /*untilMonth*/,
29746  27 /*untilDay*/,
29747  480 /*untilTimeCode (7200/15)*/,
29748  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
29749  },
29750  // 3:00 - MSK
29751  {
29752  nullptr /*zonePolicy*/,
29753  "MSK" /*format*/,
29754  720 /*offsetCode (10800/15)*/,
29755  0 /*offsetRemainder (10800%15)*/,
29756  0 /*deltaMinutes*/,
29757  32767 /*untilYear*/,
29758  1 /*untilMonth*/,
29759  1 /*untilDay*/,
29760  0 /*untilTimeCode (0/15)*/,
29761  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29762  },
29763 
29764 };
29765 
29766 static const char kZoneNameEurope_Volgograd[] ACE_TIME_PROGMEM = "\x0b" "Volgograd";
29767 
29768 const complete::ZoneInfo kZoneEurope_Volgograd ACE_TIME_PROGMEM = {
29769  kZoneNameEurope_Volgograd /*name*/,
29770  0x3ed0f389 /*zoneId*/,
29771  &kZoneContext /*zoneContext*/,
29772  11 /*numEras*/,
29773  kZoneEraEurope_Volgograd /*eras*/,
29774  nullptr /*targetInfo*/,
29775 };
29776 
29777 //---------------------------------------------------------------------------
29778 // Zone name: Europe/Warsaw
29779 // Eras: 9
29780 //---------------------------------------------------------------------------
29781 
29782 static const complete::ZoneEra kZoneEraEurope_Warsaw[] ACE_TIME_PROGMEM = {
29783  // 1:24:00 - LMT 1880
29784  {
29785  nullptr /*zonePolicy*/,
29786  "LMT" /*format*/,
29787  336 /*offsetCode (5040/15)*/,
29788  0 /*offsetRemainder (5040%15)*/,
29789  0 /*deltaMinutes*/,
29790  1880 /*untilYear*/,
29791  1 /*untilMonth*/,
29792  1 /*untilDay*/,
29793  0 /*untilTimeCode (0/15)*/,
29794  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29795  },
29796  // 1:24:00 - WMT 1915 Aug 5
29797  {
29798  nullptr /*zonePolicy*/,
29799  "WMT" /*format*/,
29800  336 /*offsetCode (5040/15)*/,
29801  0 /*offsetRemainder (5040%15)*/,
29802  0 /*deltaMinutes*/,
29803  1915 /*untilYear*/,
29804  8 /*untilMonth*/,
29805  5 /*untilDay*/,
29806  0 /*untilTimeCode (0/15)*/,
29807  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29808  },
29809  // 1:00 C-Eur CE%sT 1918 Sep 16 3:00
29810  {
29811  &kZonePolicyC_Eur /*zonePolicy*/,
29812  "CE%T" /*format*/,
29813  240 /*offsetCode (3600/15)*/,
29814  0 /*offsetRemainder (3600%15)*/,
29815  0 /*deltaMinutes*/,
29816  1918 /*untilYear*/,
29817  9 /*untilMonth*/,
29818  16 /*untilDay*/,
29819  720 /*untilTimeCode (10800/15)*/,
29820  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29821  },
29822  // 2:00 Poland EE%sT 1922 Jun
29823  {
29824  &kZonePolicyPoland /*zonePolicy*/,
29825  "EE%T" /*format*/,
29826  480 /*offsetCode (7200/15)*/,
29827  0 /*offsetRemainder (7200%15)*/,
29828  0 /*deltaMinutes*/,
29829  1922 /*untilYear*/,
29830  6 /*untilMonth*/,
29831  1 /*untilDay*/,
29832  0 /*untilTimeCode (0/15)*/,
29833  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29834  },
29835  // 1:00 Poland CE%sT 1940 Jun 23 2:00
29836  {
29837  &kZonePolicyPoland /*zonePolicy*/,
29838  "CE%T" /*format*/,
29839  240 /*offsetCode (3600/15)*/,
29840  0 /*offsetRemainder (3600%15)*/,
29841  0 /*deltaMinutes*/,
29842  1940 /*untilYear*/,
29843  6 /*untilMonth*/,
29844  23 /*untilDay*/,
29845  480 /*untilTimeCode (7200/15)*/,
29846  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29847  },
29848  // 1:00 C-Eur CE%sT 1944 Oct
29849  {
29850  &kZonePolicyC_Eur /*zonePolicy*/,
29851  "CE%T" /*format*/,
29852  240 /*offsetCode (3600/15)*/,
29853  0 /*offsetRemainder (3600%15)*/,
29854  0 /*deltaMinutes*/,
29855  1944 /*untilYear*/,
29856  10 /*untilMonth*/,
29857  1 /*untilDay*/,
29858  0 /*untilTimeCode (0/15)*/,
29859  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29860  },
29861  // 1:00 Poland CE%sT 1977
29862  {
29863  &kZonePolicyPoland /*zonePolicy*/,
29864  "CE%T" /*format*/,
29865  240 /*offsetCode (3600/15)*/,
29866  0 /*offsetRemainder (3600%15)*/,
29867  0 /*deltaMinutes*/,
29868  1977 /*untilYear*/,
29869  1 /*untilMonth*/,
29870  1 /*untilDay*/,
29871  0 /*untilTimeCode (0/15)*/,
29872  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29873  },
29874  // 1:00 W-Eur CE%sT 1988
29875  {
29876  &kZonePolicyW_Eur /*zonePolicy*/,
29877  "CE%T" /*format*/,
29878  240 /*offsetCode (3600/15)*/,
29879  0 /*offsetRemainder (3600%15)*/,
29880  0 /*deltaMinutes*/,
29881  1988 /*untilYear*/,
29882  1 /*untilMonth*/,
29883  1 /*untilDay*/,
29884  0 /*untilTimeCode (0/15)*/,
29885  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29886  },
29887  // 1:00 EU CE%sT
29888  {
29889  &kZonePolicyEU /*zonePolicy*/,
29890  "CE%T" /*format*/,
29891  240 /*offsetCode (3600/15)*/,
29892  0 /*offsetRemainder (3600%15)*/,
29893  0 /*deltaMinutes*/,
29894  32767 /*untilYear*/,
29895  1 /*untilMonth*/,
29896  1 /*untilDay*/,
29897  0 /*untilTimeCode (0/15)*/,
29898  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29899  },
29900 
29901 };
29902 
29903 static const char kZoneNameEurope_Warsaw[] ACE_TIME_PROGMEM = "\x0b" "Warsaw";
29904 
29905 const complete::ZoneInfo kZoneEurope_Warsaw ACE_TIME_PROGMEM = {
29906  kZoneNameEurope_Warsaw /*name*/,
29907  0x75185c19 /*zoneId*/,
29908  &kZoneContext /*zoneContext*/,
29909  9 /*numEras*/,
29910  kZoneEraEurope_Warsaw /*eras*/,
29911  nullptr /*targetInfo*/,
29912 };
29913 
29914 //---------------------------------------------------------------------------
29915 // Zone name: Europe/Zurich
29916 // Eras: 4
29917 //---------------------------------------------------------------------------
29918 
29919 static const complete::ZoneEra kZoneEraEurope_Zurich[] ACE_TIME_PROGMEM = {
29920  // 0:34:08 - LMT 1853 Jul 16
29921  {
29922  nullptr /*zonePolicy*/,
29923  "LMT" /*format*/,
29924  136 /*offsetCode (2048/15)*/,
29925  8 /*offsetRemainder (2048%15)*/,
29926  0 /*deltaMinutes*/,
29927  1853 /*untilYear*/,
29928  7 /*untilMonth*/,
29929  16 /*untilDay*/,
29930  0 /*untilTimeCode (0/15)*/,
29931  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29932  },
29933  // 0:29:46 - BMT 1894 Jun
29934  {
29935  nullptr /*zonePolicy*/,
29936  "BMT" /*format*/,
29937  119 /*offsetCode (1786/15)*/,
29938  1 /*offsetRemainder (1786%15)*/,
29939  0 /*deltaMinutes*/,
29940  1894 /*untilYear*/,
29941  6 /*untilMonth*/,
29942  1 /*untilDay*/,
29943  0 /*untilTimeCode (0/15)*/,
29944  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29945  },
29946  // 1:00 Swiss CE%sT 1981
29947  {
29948  &kZonePolicySwiss /*zonePolicy*/,
29949  "CE%T" /*format*/,
29950  240 /*offsetCode (3600/15)*/,
29951  0 /*offsetRemainder (3600%15)*/,
29952  0 /*deltaMinutes*/,
29953  1981 /*untilYear*/,
29954  1 /*untilMonth*/,
29955  1 /*untilDay*/,
29956  0 /*untilTimeCode (0/15)*/,
29957  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29958  },
29959  // 1:00 EU CE%sT
29960  {
29961  &kZonePolicyEU /*zonePolicy*/,
29962  "CE%T" /*format*/,
29963  240 /*offsetCode (3600/15)*/,
29964  0 /*offsetRemainder (3600%15)*/,
29965  0 /*deltaMinutes*/,
29966  32767 /*untilYear*/,
29967  1 /*untilMonth*/,
29968  1 /*untilDay*/,
29969  0 /*untilTimeCode (0/15)*/,
29970  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
29971  },
29972 
29973 };
29974 
29975 static const char kZoneNameEurope_Zurich[] ACE_TIME_PROGMEM = "\x0b" "Zurich";
29976 
29977 const complete::ZoneInfo kZoneEurope_Zurich ACE_TIME_PROGMEM = {
29978  kZoneNameEurope_Zurich /*name*/,
29979  0x7d8195b9 /*zoneId*/,
29980  &kZoneContext /*zoneContext*/,
29981  4 /*numEras*/,
29982  kZoneEraEurope_Zurich /*eras*/,
29983  nullptr /*targetInfo*/,
29984 };
29985 
29986 //---------------------------------------------------------------------------
29987 // Zone name: Indian/Chagos
29988 // Eras: 3
29989 //---------------------------------------------------------------------------
29990 
29991 static const complete::ZoneEra kZoneEraIndian_Chagos[] ACE_TIME_PROGMEM = {
29992  // 4:49:40 - LMT 1907
29993  {
29994  nullptr /*zonePolicy*/,
29995  "LMT" /*format*/,
29996  1158 /*offsetCode (17380/15)*/,
29997  10 /*offsetRemainder (17380%15)*/,
29998  0 /*deltaMinutes*/,
29999  1907 /*untilYear*/,
30000  1 /*untilMonth*/,
30001  1 /*untilDay*/,
30002  0 /*untilTimeCode (0/15)*/,
30003  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30004  },
30005  // 5:00 - %z 1996
30006  {
30007  nullptr /*zonePolicy*/,
30008  "" /*format*/,
30009  1200 /*offsetCode (18000/15)*/,
30010  0 /*offsetRemainder (18000%15)*/,
30011  0 /*deltaMinutes*/,
30012  1996 /*untilYear*/,
30013  1 /*untilMonth*/,
30014  1 /*untilDay*/,
30015  0 /*untilTimeCode (0/15)*/,
30016  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30017  },
30018  // 6:00 - %z
30019  {
30020  nullptr /*zonePolicy*/,
30021  "" /*format*/,
30022  1440 /*offsetCode (21600/15)*/,
30023  0 /*offsetRemainder (21600%15)*/,
30024  0 /*deltaMinutes*/,
30025  32767 /*untilYear*/,
30026  1 /*untilMonth*/,
30027  1 /*untilDay*/,
30028  0 /*untilTimeCode (0/15)*/,
30029  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30030  },
30031 
30032 };
30033 
30034 static const char kZoneNameIndian_Chagos[] ACE_TIME_PROGMEM = "\x0c" "Chagos";
30035 
30036 const complete::ZoneInfo kZoneIndian_Chagos ACE_TIME_PROGMEM = {
30037  kZoneNameIndian_Chagos /*name*/,
30038  0x456f7c3c /*zoneId*/,
30039  &kZoneContext /*zoneContext*/,
30040  3 /*numEras*/,
30041  kZoneEraIndian_Chagos /*eras*/,
30042  nullptr /*targetInfo*/,
30043 };
30044 
30045 //---------------------------------------------------------------------------
30046 // Zone name: Indian/Maldives
30047 // Eras: 3
30048 //---------------------------------------------------------------------------
30049 
30050 static const complete::ZoneEra kZoneEraIndian_Maldives[] ACE_TIME_PROGMEM = {
30051  // 4:54:00 - LMT 1880
30052  {
30053  nullptr /*zonePolicy*/,
30054  "LMT" /*format*/,
30055  1176 /*offsetCode (17640/15)*/,
30056  0 /*offsetRemainder (17640%15)*/,
30057  0 /*deltaMinutes*/,
30058  1880 /*untilYear*/,
30059  1 /*untilMonth*/,
30060  1 /*untilDay*/,
30061  0 /*untilTimeCode (0/15)*/,
30062  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30063  },
30064  // 4:54:00 - MMT 1960
30065  {
30066  nullptr /*zonePolicy*/,
30067  "MMT" /*format*/,
30068  1176 /*offsetCode (17640/15)*/,
30069  0 /*offsetRemainder (17640%15)*/,
30070  0 /*deltaMinutes*/,
30071  1960 /*untilYear*/,
30072  1 /*untilMonth*/,
30073  1 /*untilDay*/,
30074  0 /*untilTimeCode (0/15)*/,
30075  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30076  },
30077  // 5:00 - %z
30078  {
30079  nullptr /*zonePolicy*/,
30080  "" /*format*/,
30081  1200 /*offsetCode (18000/15)*/,
30082  0 /*offsetRemainder (18000%15)*/,
30083  0 /*deltaMinutes*/,
30084  32767 /*untilYear*/,
30085  1 /*untilMonth*/,
30086  1 /*untilDay*/,
30087  0 /*untilTimeCode (0/15)*/,
30088  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30089  },
30090 
30091 };
30092 
30093 static const char kZoneNameIndian_Maldives[] ACE_TIME_PROGMEM = "\x0c" "Maldives";
30094 
30095 const complete::ZoneInfo kZoneIndian_Maldives ACE_TIME_PROGMEM = {
30096  kZoneNameIndian_Maldives /*name*/,
30097  0x9869681c /*zoneId*/,
30098  &kZoneContext /*zoneContext*/,
30099  3 /*numEras*/,
30100  kZoneEraIndian_Maldives /*eras*/,
30101  nullptr /*targetInfo*/,
30102 };
30103 
30104 //---------------------------------------------------------------------------
30105 // Zone name: Indian/Mauritius
30106 // Eras: 2
30107 //---------------------------------------------------------------------------
30108 
30109 static const complete::ZoneEra kZoneEraIndian_Mauritius[] ACE_TIME_PROGMEM = {
30110  // 3:50:00 - LMT 1907
30111  {
30112  nullptr /*zonePolicy*/,
30113  "LMT" /*format*/,
30114  920 /*offsetCode (13800/15)*/,
30115  0 /*offsetRemainder (13800%15)*/,
30116  0 /*deltaMinutes*/,
30117  1907 /*untilYear*/,
30118  1 /*untilMonth*/,
30119  1 /*untilDay*/,
30120  0 /*untilTimeCode (0/15)*/,
30121  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30122  },
30123  // 4:00 Mauritius %z
30124  {
30125  &kZonePolicyMauritius /*zonePolicy*/,
30126  "" /*format*/,
30127  960 /*offsetCode (14400/15)*/,
30128  0 /*offsetRemainder (14400%15)*/,
30129  0 /*deltaMinutes*/,
30130  32767 /*untilYear*/,
30131  1 /*untilMonth*/,
30132  1 /*untilDay*/,
30133  0 /*untilTimeCode (0/15)*/,
30134  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30135  },
30136 
30137 };
30138 
30139 static const char kZoneNameIndian_Mauritius[] ACE_TIME_PROGMEM = "\x0c" "Mauritius";
30140 
30141 const complete::ZoneInfo kZoneIndian_Mauritius ACE_TIME_PROGMEM = {
30142  kZoneNameIndian_Mauritius /*name*/,
30143  0x7b09c02a /*zoneId*/,
30144  &kZoneContext /*zoneContext*/,
30145  2 /*numEras*/,
30146  kZoneEraIndian_Mauritius /*eras*/,
30147  nullptr /*targetInfo*/,
30148 };
30149 
30150 //---------------------------------------------------------------------------
30151 // Zone name: Pacific/Apia
30152 // Eras: 5
30153 //---------------------------------------------------------------------------
30154 
30155 static const complete::ZoneEra kZoneEraPacific_Apia[] ACE_TIME_PROGMEM = {
30156  // 12:33:04 - LMT 1892 Jul 5
30157  {
30158  nullptr /*zonePolicy*/,
30159  "LMT" /*format*/,
30160  3012 /*offsetCode (45184/15)*/,
30161  4 /*offsetRemainder (45184%15)*/,
30162  0 /*deltaMinutes*/,
30163  1892 /*untilYear*/,
30164  7 /*untilMonth*/,
30165  5 /*untilDay*/,
30166  0 /*untilTimeCode (0/15)*/,
30167  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30168  },
30169  // -11:26:56 - LMT 1911
30170  {
30171  nullptr /*zonePolicy*/,
30172  "LMT" /*format*/,
30173  -2748 /*offsetCode (-41216/15)*/,
30174  4 /*offsetRemainder (-41216%15)*/,
30175  0 /*deltaMinutes*/,
30176  1911 /*untilYear*/,
30177  1 /*untilMonth*/,
30178  1 /*untilDay*/,
30179  0 /*untilTimeCode (0/15)*/,
30180  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30181  },
30182  // -11:30 - %z 1950
30183  {
30184  nullptr /*zonePolicy*/,
30185  "" /*format*/,
30186  -2760 /*offsetCode (-41400/15)*/,
30187  0 /*offsetRemainder (-41400%15)*/,
30188  0 /*deltaMinutes*/,
30189  1950 /*untilYear*/,
30190  1 /*untilMonth*/,
30191  1 /*untilDay*/,
30192  0 /*untilTimeCode (0/15)*/,
30193  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30194  },
30195  // -11:00 WS %z 2011 Dec 29 24:00
30196  {
30197  &kZonePolicyWS /*zonePolicy*/,
30198  "" /*format*/,
30199  -2640 /*offsetCode (-39600/15)*/,
30200  0 /*offsetRemainder (-39600%15)*/,
30201  0 /*deltaMinutes*/,
30202  2011 /*untilYear*/,
30203  12 /*untilMonth*/,
30204  29 /*untilDay*/,
30205  5760 /*untilTimeCode (86400/15)*/,
30206  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30207  },
30208  // 13:00 WS %z
30209  {
30210  &kZonePolicyWS /*zonePolicy*/,
30211  "" /*format*/,
30212  3120 /*offsetCode (46800/15)*/,
30213  0 /*offsetRemainder (46800%15)*/,
30214  0 /*deltaMinutes*/,
30215  32767 /*untilYear*/,
30216  1 /*untilMonth*/,
30217  1 /*untilDay*/,
30218  0 /*untilTimeCode (0/15)*/,
30219  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30220  },
30221 
30222 };
30223 
30224 static const char kZoneNamePacific_Apia[] ACE_TIME_PROGMEM = "\x0e" "Apia";
30225 
30226 const complete::ZoneInfo kZonePacific_Apia ACE_TIME_PROGMEM = {
30227  kZoneNamePacific_Apia /*name*/,
30228  0x23359b5e /*zoneId*/,
30229  &kZoneContext /*zoneContext*/,
30230  5 /*numEras*/,
30231  kZoneEraPacific_Apia /*eras*/,
30232  nullptr /*targetInfo*/,
30233 };
30234 
30235 //---------------------------------------------------------------------------
30236 // Zone name: Pacific/Auckland
30237 // Eras: 3
30238 //---------------------------------------------------------------------------
30239 
30240 static const complete::ZoneEra kZoneEraPacific_Auckland[] ACE_TIME_PROGMEM = {
30241  // 11:39:04 - LMT 1868 Nov 2
30242  {
30243  nullptr /*zonePolicy*/,
30244  "LMT" /*format*/,
30245  2796 /*offsetCode (41944/15)*/,
30246  4 /*offsetRemainder (41944%15)*/,
30247  0 /*deltaMinutes*/,
30248  1868 /*untilYear*/,
30249  11 /*untilMonth*/,
30250  2 /*untilDay*/,
30251  0 /*untilTimeCode (0/15)*/,
30252  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30253  },
30254  // 11:30 NZ NZ%sT 1946 Jan 1
30255  {
30256  &kZonePolicyNZ /*zonePolicy*/,
30257  "NZ%T" /*format*/,
30258  2760 /*offsetCode (41400/15)*/,
30259  0 /*offsetRemainder (41400%15)*/,
30260  0 /*deltaMinutes*/,
30261  1946 /*untilYear*/,
30262  1 /*untilMonth*/,
30263  1 /*untilDay*/,
30264  0 /*untilTimeCode (0/15)*/,
30265  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30266  },
30267  // 12:00 NZ NZ%sT
30268  {
30269  &kZonePolicyNZ /*zonePolicy*/,
30270  "NZ%T" /*format*/,
30271  2880 /*offsetCode (43200/15)*/,
30272  0 /*offsetRemainder (43200%15)*/,
30273  0 /*deltaMinutes*/,
30274  32767 /*untilYear*/,
30275  1 /*untilMonth*/,
30276  1 /*untilDay*/,
30277  0 /*untilTimeCode (0/15)*/,
30278  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30279  },
30280 
30281 };
30282 
30283 static const char kZoneNamePacific_Auckland[] ACE_TIME_PROGMEM = "\x0e" "Auckland";
30284 
30285 const complete::ZoneInfo kZonePacific_Auckland ACE_TIME_PROGMEM = {
30286  kZoneNamePacific_Auckland /*name*/,
30287  0x25062f86 /*zoneId*/,
30288  &kZoneContext /*zoneContext*/,
30289  3 /*numEras*/,
30290  kZoneEraPacific_Auckland /*eras*/,
30291  nullptr /*targetInfo*/,
30292 };
30293 
30294 //---------------------------------------------------------------------------
30295 // Zone name: Pacific/Bougainville
30296 // Eras: 6
30297 //---------------------------------------------------------------------------
30298 
30299 static const complete::ZoneEra kZoneEraPacific_Bougainville[] ACE_TIME_PROGMEM = {
30300  // 10:22:16 - LMT 1880
30301  {
30302  nullptr /*zonePolicy*/,
30303  "LMT" /*format*/,
30304  2489 /*offsetCode (37336/15)*/,
30305  1 /*offsetRemainder (37336%15)*/,
30306  0 /*deltaMinutes*/,
30307  1880 /*untilYear*/,
30308  1 /*untilMonth*/,
30309  1 /*untilDay*/,
30310  0 /*untilTimeCode (0/15)*/,
30311  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30312  },
30313  // 9:48:32 - PMMT 1895
30314  {
30315  nullptr /*zonePolicy*/,
30316  "PMMT" /*format*/,
30317  2354 /*offsetCode (35312/15)*/,
30318  2 /*offsetRemainder (35312%15)*/,
30319  0 /*deltaMinutes*/,
30320  1895 /*untilYear*/,
30321  1 /*untilMonth*/,
30322  1 /*untilDay*/,
30323  0 /*untilTimeCode (0/15)*/,
30324  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30325  },
30326  // 10:00 - %z 1942 Jul
30327  {
30328  nullptr /*zonePolicy*/,
30329  "" /*format*/,
30330  2400 /*offsetCode (36000/15)*/,
30331  0 /*offsetRemainder (36000%15)*/,
30332  0 /*deltaMinutes*/,
30333  1942 /*untilYear*/,
30334  7 /*untilMonth*/,
30335  1 /*untilDay*/,
30336  0 /*untilTimeCode (0/15)*/,
30337  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30338  },
30339  // 9:00 - %z 1945 Aug 21
30340  {
30341  nullptr /*zonePolicy*/,
30342  "" /*format*/,
30343  2160 /*offsetCode (32400/15)*/,
30344  0 /*offsetRemainder (32400%15)*/,
30345  0 /*deltaMinutes*/,
30346  1945 /*untilYear*/,
30347  8 /*untilMonth*/,
30348  21 /*untilDay*/,
30349  0 /*untilTimeCode (0/15)*/,
30350  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30351  },
30352  // 10:00 - %z 2014 Dec 28 2:00
30353  {
30354  nullptr /*zonePolicy*/,
30355  "" /*format*/,
30356  2400 /*offsetCode (36000/15)*/,
30357  0 /*offsetRemainder (36000%15)*/,
30358  0 /*deltaMinutes*/,
30359  2014 /*untilYear*/,
30360  12 /*untilMonth*/,
30361  28 /*untilDay*/,
30362  480 /*untilTimeCode (7200/15)*/,
30363  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30364  },
30365  // 11:00 - %z
30366  {
30367  nullptr /*zonePolicy*/,
30368  "" /*format*/,
30369  2640 /*offsetCode (39600/15)*/,
30370  0 /*offsetRemainder (39600%15)*/,
30371  0 /*deltaMinutes*/,
30372  32767 /*untilYear*/,
30373  1 /*untilMonth*/,
30374  1 /*untilDay*/,
30375  0 /*untilTimeCode (0/15)*/,
30376  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30377  },
30378 
30379 };
30380 
30381 static const char kZoneNamePacific_Bougainville[] ACE_TIME_PROGMEM = "\x0e" "Bougainville";
30382 
30383 const complete::ZoneInfo kZonePacific_Bougainville ACE_TIME_PROGMEM = {
30384  kZoneNamePacific_Bougainville /*name*/,
30385  0x5e10f7a4 /*zoneId*/,
30386  &kZoneContext /*zoneContext*/,
30387  6 /*numEras*/,
30388  kZoneEraPacific_Bougainville /*eras*/,
30389  nullptr /*targetInfo*/,
30390 };
30391 
30392 //---------------------------------------------------------------------------
30393 // Zone name: Pacific/Chatham
30394 // Eras: 3
30395 //---------------------------------------------------------------------------
30396 
30397 static const complete::ZoneEra kZoneEraPacific_Chatham[] ACE_TIME_PROGMEM = {
30398  // 12:13:48 - LMT 1868 Nov 2
30399  {
30400  nullptr /*zonePolicy*/,
30401  "LMT" /*format*/,
30402  2935 /*offsetCode (44028/15)*/,
30403  3 /*offsetRemainder (44028%15)*/,
30404  0 /*deltaMinutes*/,
30405  1868 /*untilYear*/,
30406  11 /*untilMonth*/,
30407  2 /*untilDay*/,
30408  0 /*untilTimeCode (0/15)*/,
30409  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30410  },
30411  // 12:15 - %z 1946 Jan 1
30412  {
30413  nullptr /*zonePolicy*/,
30414  "" /*format*/,
30415  2940 /*offsetCode (44100/15)*/,
30416  0 /*offsetRemainder (44100%15)*/,
30417  0 /*deltaMinutes*/,
30418  1946 /*untilYear*/,
30419  1 /*untilMonth*/,
30420  1 /*untilDay*/,
30421  0 /*untilTimeCode (0/15)*/,
30422  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30423  },
30424  // 12:45 Chatham %z
30425  {
30426  &kZonePolicyChatham /*zonePolicy*/,
30427  "" /*format*/,
30428  3060 /*offsetCode (45900/15)*/,
30429  0 /*offsetRemainder (45900%15)*/,
30430  0 /*deltaMinutes*/,
30431  32767 /*untilYear*/,
30432  1 /*untilMonth*/,
30433  1 /*untilDay*/,
30434  0 /*untilTimeCode (0/15)*/,
30435  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30436  },
30437 
30438 };
30439 
30440 static const char kZoneNamePacific_Chatham[] ACE_TIME_PROGMEM = "\x0e" "Chatham";
30441 
30442 const complete::ZoneInfo kZonePacific_Chatham ACE_TIME_PROGMEM = {
30443  kZoneNamePacific_Chatham /*name*/,
30444  0x2f0de999 /*zoneId*/,
30445  &kZoneContext /*zoneContext*/,
30446  3 /*numEras*/,
30447  kZoneEraPacific_Chatham /*eras*/,
30448  nullptr /*targetInfo*/,
30449 };
30450 
30451 //---------------------------------------------------------------------------
30452 // Zone name: Pacific/Easter
30453 // Eras: 4
30454 //---------------------------------------------------------------------------
30455 
30456 static const complete::ZoneEra kZoneEraPacific_Easter[] ACE_TIME_PROGMEM = {
30457  // -7:17:28 - LMT 1890
30458  {
30459  nullptr /*zonePolicy*/,
30460  "LMT" /*format*/,
30461  -1750 /*offsetCode (-26248/15)*/,
30462  2 /*offsetRemainder (-26248%15)*/,
30463  0 /*deltaMinutes*/,
30464  1890 /*untilYear*/,
30465  1 /*untilMonth*/,
30466  1 /*untilDay*/,
30467  0 /*untilTimeCode (0/15)*/,
30468  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30469  },
30470  // -7:17:28 - EMT 1932 Sep
30471  {
30472  nullptr /*zonePolicy*/,
30473  "EMT" /*format*/,
30474  -1750 /*offsetCode (-26248/15)*/,
30475  2 /*offsetRemainder (-26248%15)*/,
30476  0 /*deltaMinutes*/,
30477  1932 /*untilYear*/,
30478  9 /*untilMonth*/,
30479  1 /*untilDay*/,
30480  0 /*untilTimeCode (0/15)*/,
30481  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30482  },
30483  // -7:00 Chile %z 1982 Mar 14 3:00u
30484  {
30485  &kZonePolicyChile /*zonePolicy*/,
30486  "" /*format*/,
30487  -1680 /*offsetCode (-25200/15)*/,
30488  0 /*offsetRemainder (-25200%15)*/,
30489  0 /*deltaMinutes*/,
30490  1982 /*untilYear*/,
30491  3 /*untilMonth*/,
30492  14 /*untilDay*/,
30493  720 /*untilTimeCode (10800/15)*/,
30494  32 /*untilTimeModifier (kAtcSuffixU + seconds=0)*/,
30495  },
30496  // -6:00 Chile %z
30497  {
30498  &kZonePolicyChile /*zonePolicy*/,
30499  "" /*format*/,
30500  -1440 /*offsetCode (-21600/15)*/,
30501  0 /*offsetRemainder (-21600%15)*/,
30502  0 /*deltaMinutes*/,
30503  32767 /*untilYear*/,
30504  1 /*untilMonth*/,
30505  1 /*untilDay*/,
30506  0 /*untilTimeCode (0/15)*/,
30507  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30508  },
30509 
30510 };
30511 
30512 static const char kZoneNamePacific_Easter[] ACE_TIME_PROGMEM = "\x0e" "Easter";
30513 
30514 const complete::ZoneInfo kZonePacific_Easter ACE_TIME_PROGMEM = {
30515  kZoneNamePacific_Easter /*name*/,
30516  0xcf54f7e7 /*zoneId*/,
30517  &kZoneContext /*zoneContext*/,
30518  4 /*numEras*/,
30519  kZoneEraPacific_Easter /*eras*/,
30520  nullptr /*targetInfo*/,
30521 };
30522 
30523 //---------------------------------------------------------------------------
30524 // Zone name: Pacific/Efate
30525 // Eras: 2
30526 //---------------------------------------------------------------------------
30527 
30528 static const complete::ZoneEra kZoneEraPacific_Efate[] ACE_TIME_PROGMEM = {
30529  // 11:13:16 - LMT 1912 Jan 13
30530  {
30531  nullptr /*zonePolicy*/,
30532  "LMT" /*format*/,
30533  2693 /*offsetCode (40396/15)*/,
30534  1 /*offsetRemainder (40396%15)*/,
30535  0 /*deltaMinutes*/,
30536  1912 /*untilYear*/,
30537  1 /*untilMonth*/,
30538  13 /*untilDay*/,
30539  0 /*untilTimeCode (0/15)*/,
30540  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30541  },
30542  // 11:00 Vanuatu %z
30543  {
30544  &kZonePolicyVanuatu /*zonePolicy*/,
30545  "" /*format*/,
30546  2640 /*offsetCode (39600/15)*/,
30547  0 /*offsetRemainder (39600%15)*/,
30548  0 /*deltaMinutes*/,
30549  32767 /*untilYear*/,
30550  1 /*untilMonth*/,
30551  1 /*untilDay*/,
30552  0 /*untilTimeCode (0/15)*/,
30553  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30554  },
30555 
30556 };
30557 
30558 static const char kZoneNamePacific_Efate[] ACE_TIME_PROGMEM = "\x0e" "Efate";
30559 
30560 const complete::ZoneInfo kZonePacific_Efate ACE_TIME_PROGMEM = {
30561  kZoneNamePacific_Efate /*name*/,
30562  0x8a2bce28 /*zoneId*/,
30563  &kZoneContext /*zoneContext*/,
30564  2 /*numEras*/,
30565  kZoneEraPacific_Efate /*eras*/,
30566  nullptr /*targetInfo*/,
30567 };
30568 
30569 //---------------------------------------------------------------------------
30570 // Zone name: Pacific/Fakaofo
30571 // Eras: 3
30572 //---------------------------------------------------------------------------
30573 
30574 static const complete::ZoneEra kZoneEraPacific_Fakaofo[] ACE_TIME_PROGMEM = {
30575  // -11:24:56 - LMT 1901
30576  {
30577  nullptr /*zonePolicy*/,
30578  "LMT" /*format*/,
30579  -2740 /*offsetCode (-41096/15)*/,
30580  4 /*offsetRemainder (-41096%15)*/,
30581  0 /*deltaMinutes*/,
30582  1901 /*untilYear*/,
30583  1 /*untilMonth*/,
30584  1 /*untilDay*/,
30585  0 /*untilTimeCode (0/15)*/,
30586  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30587  },
30588  // -11:00 - %z 2011 Dec 30
30589  {
30590  nullptr /*zonePolicy*/,
30591  "" /*format*/,
30592  -2640 /*offsetCode (-39600/15)*/,
30593  0 /*offsetRemainder (-39600%15)*/,
30594  0 /*deltaMinutes*/,
30595  2011 /*untilYear*/,
30596  12 /*untilMonth*/,
30597  30 /*untilDay*/,
30598  0 /*untilTimeCode (0/15)*/,
30599  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30600  },
30601  // 13:00 - %z
30602  {
30603  nullptr /*zonePolicy*/,
30604  "" /*format*/,
30605  3120 /*offsetCode (46800/15)*/,
30606  0 /*offsetRemainder (46800%15)*/,
30607  0 /*deltaMinutes*/,
30608  32767 /*untilYear*/,
30609  1 /*untilMonth*/,
30610  1 /*untilDay*/,
30611  0 /*untilTimeCode (0/15)*/,
30612  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30613  },
30614 
30615 };
30616 
30617 static const char kZoneNamePacific_Fakaofo[] ACE_TIME_PROGMEM = "\x0e" "Fakaofo";
30618 
30619 const complete::ZoneInfo kZonePacific_Fakaofo ACE_TIME_PROGMEM = {
30620  kZoneNamePacific_Fakaofo /*name*/,
30621  0x06532bba /*zoneId*/,
30622  &kZoneContext /*zoneContext*/,
30623  3 /*numEras*/,
30624  kZoneEraPacific_Fakaofo /*eras*/,
30625  nullptr /*targetInfo*/,
30626 };
30627 
30628 //---------------------------------------------------------------------------
30629 // Zone name: Pacific/Fiji
30630 // Eras: 2
30631 //---------------------------------------------------------------------------
30632 
30633 static const complete::ZoneEra kZoneEraPacific_Fiji[] ACE_TIME_PROGMEM = {
30634  // 11:55:44 - LMT 1915 Oct 26
30635  {
30636  nullptr /*zonePolicy*/,
30637  "LMT" /*format*/,
30638  2862 /*offsetCode (42944/15)*/,
30639  14 /*offsetRemainder (42944%15)*/,
30640  0 /*deltaMinutes*/,
30641  1915 /*untilYear*/,
30642  10 /*untilMonth*/,
30643  26 /*untilDay*/,
30644  0 /*untilTimeCode (0/15)*/,
30645  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30646  },
30647  // 12:00 Fiji %z
30648  {
30649  &kZonePolicyFiji /*zonePolicy*/,
30650  "" /*format*/,
30651  2880 /*offsetCode (43200/15)*/,
30652  0 /*offsetRemainder (43200%15)*/,
30653  0 /*deltaMinutes*/,
30654  32767 /*untilYear*/,
30655  1 /*untilMonth*/,
30656  1 /*untilDay*/,
30657  0 /*untilTimeCode (0/15)*/,
30658  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30659  },
30660 
30661 };
30662 
30663 static const char kZoneNamePacific_Fiji[] ACE_TIME_PROGMEM = "\x0e" "Fiji";
30664 
30665 const complete::ZoneInfo kZonePacific_Fiji ACE_TIME_PROGMEM = {
30666  kZoneNamePacific_Fiji /*name*/,
30667  0x23383ba5 /*zoneId*/,
30668  &kZoneContext /*zoneContext*/,
30669  2 /*numEras*/,
30670  kZoneEraPacific_Fiji /*eras*/,
30671  nullptr /*targetInfo*/,
30672 };
30673 
30674 //---------------------------------------------------------------------------
30675 // Zone name: Pacific/Galapagos
30676 // Eras: 3
30677 //---------------------------------------------------------------------------
30678 
30679 static const complete::ZoneEra kZoneEraPacific_Galapagos[] ACE_TIME_PROGMEM = {
30680  // -5:58:24 - LMT 1931
30681  {
30682  nullptr /*zonePolicy*/,
30683  "LMT" /*format*/,
30684  -1434 /*offsetCode (-21504/15)*/,
30685  6 /*offsetRemainder (-21504%15)*/,
30686  0 /*deltaMinutes*/,
30687  1931 /*untilYear*/,
30688  1 /*untilMonth*/,
30689  1 /*untilDay*/,
30690  0 /*untilTimeCode (0/15)*/,
30691  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30692  },
30693  // -5:00 - %z 1986
30694  {
30695  nullptr /*zonePolicy*/,
30696  "" /*format*/,
30697  -1200 /*offsetCode (-18000/15)*/,
30698  0 /*offsetRemainder (-18000%15)*/,
30699  0 /*deltaMinutes*/,
30700  1986 /*untilYear*/,
30701  1 /*untilMonth*/,
30702  1 /*untilDay*/,
30703  0 /*untilTimeCode (0/15)*/,
30704  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30705  },
30706  // -6:00 Ecuador %z
30707  {
30708  &kZonePolicyEcuador /*zonePolicy*/,
30709  "" /*format*/,
30710  -1440 /*offsetCode (-21600/15)*/,
30711  0 /*offsetRemainder (-21600%15)*/,
30712  0 /*deltaMinutes*/,
30713  32767 /*untilYear*/,
30714  1 /*untilMonth*/,
30715  1 /*untilDay*/,
30716  0 /*untilTimeCode (0/15)*/,
30717  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30718  },
30719 
30720 };
30721 
30722 static const char kZoneNamePacific_Galapagos[] ACE_TIME_PROGMEM = "\x0e" "Galapagos";
30723 
30724 const complete::ZoneInfo kZonePacific_Galapagos ACE_TIME_PROGMEM = {
30725  kZoneNamePacific_Galapagos /*name*/,
30726  0xa952f752 /*zoneId*/,
30727  &kZoneContext /*zoneContext*/,
30728  3 /*numEras*/,
30729  kZoneEraPacific_Galapagos /*eras*/,
30730  nullptr /*targetInfo*/,
30731 };
30732 
30733 //---------------------------------------------------------------------------
30734 // Zone name: Pacific/Gambier
30735 // Eras: 2
30736 //---------------------------------------------------------------------------
30737 
30738 static const complete::ZoneEra kZoneEraPacific_Gambier[] ACE_TIME_PROGMEM = {
30739  // -8:59:48 - LMT 1912 Oct 1
30740  {
30741  nullptr /*zonePolicy*/,
30742  "LMT" /*format*/,
30743  -2160 /*offsetCode (-32388/15)*/,
30744  12 /*offsetRemainder (-32388%15)*/,
30745  0 /*deltaMinutes*/,
30746  1912 /*untilYear*/,
30747  10 /*untilMonth*/,
30748  1 /*untilDay*/,
30749  0 /*untilTimeCode (0/15)*/,
30750  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30751  },
30752  // -9:00 - %z
30753  {
30754  nullptr /*zonePolicy*/,
30755  "" /*format*/,
30756  -2160 /*offsetCode (-32400/15)*/,
30757  0 /*offsetRemainder (-32400%15)*/,
30758  0 /*deltaMinutes*/,
30759  32767 /*untilYear*/,
30760  1 /*untilMonth*/,
30761  1 /*untilDay*/,
30762  0 /*untilTimeCode (0/15)*/,
30763  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30764  },
30765 
30766 };
30767 
30768 static const char kZoneNamePacific_Gambier[] ACE_TIME_PROGMEM = "\x0e" "Gambier";
30769 
30770 const complete::ZoneInfo kZonePacific_Gambier ACE_TIME_PROGMEM = {
30771  kZoneNamePacific_Gambier /*name*/,
30772  0x53720c3a /*zoneId*/,
30773  &kZoneContext /*zoneContext*/,
30774  2 /*numEras*/,
30775  kZoneEraPacific_Gambier /*eras*/,
30776  nullptr /*targetInfo*/,
30777 };
30778 
30779 //---------------------------------------------------------------------------
30780 // Zone name: Pacific/Guadalcanal
30781 // Eras: 2
30782 //---------------------------------------------------------------------------
30783 
30784 static const complete::ZoneEra kZoneEraPacific_Guadalcanal[] ACE_TIME_PROGMEM = {
30785  // 10:39:48 - LMT 1912 Oct 1
30786  {
30787  nullptr /*zonePolicy*/,
30788  "LMT" /*format*/,
30789  2559 /*offsetCode (38388/15)*/,
30790  3 /*offsetRemainder (38388%15)*/,
30791  0 /*deltaMinutes*/,
30792  1912 /*untilYear*/,
30793  10 /*untilMonth*/,
30794  1 /*untilDay*/,
30795  0 /*untilTimeCode (0/15)*/,
30796  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30797  },
30798  // 11:00 - %z
30799  {
30800  nullptr /*zonePolicy*/,
30801  "" /*format*/,
30802  2640 /*offsetCode (39600/15)*/,
30803  0 /*offsetRemainder (39600%15)*/,
30804  0 /*deltaMinutes*/,
30805  32767 /*untilYear*/,
30806  1 /*untilMonth*/,
30807  1 /*untilDay*/,
30808  0 /*untilTimeCode (0/15)*/,
30809  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30810  },
30811 
30812 };
30813 
30814 static const char kZoneNamePacific_Guadalcanal[] ACE_TIME_PROGMEM = "\x0e" "Guadalcanal";
30815 
30816 const complete::ZoneInfo kZonePacific_Guadalcanal ACE_TIME_PROGMEM = {
30817  kZoneNamePacific_Guadalcanal /*name*/,
30818  0xf4dd25f0 /*zoneId*/,
30819  &kZoneContext /*zoneContext*/,
30820  2 /*numEras*/,
30821  kZoneEraPacific_Guadalcanal /*eras*/,
30822  nullptr /*targetInfo*/,
30823 };
30824 
30825 //---------------------------------------------------------------------------
30826 // Zone name: Pacific/Guam
30827 // Eras: 6
30828 //---------------------------------------------------------------------------
30829 
30830 static const complete::ZoneEra kZoneEraPacific_Guam[] ACE_TIME_PROGMEM = {
30831  // -14:21:00 - LMT 1844 Dec 31
30832  {
30833  nullptr /*zonePolicy*/,
30834  "LMT" /*format*/,
30835  -3444 /*offsetCode (-51660/15)*/,
30836  0 /*offsetRemainder (-51660%15)*/,
30837  0 /*deltaMinutes*/,
30838  1844 /*untilYear*/,
30839  12 /*untilMonth*/,
30840  31 /*untilDay*/,
30841  0 /*untilTimeCode (0/15)*/,
30842  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30843  },
30844  // 9:39:00 - LMT 1901
30845  {
30846  nullptr /*zonePolicy*/,
30847  "LMT" /*format*/,
30848  2316 /*offsetCode (34740/15)*/,
30849  0 /*offsetRemainder (34740%15)*/,
30850  0 /*deltaMinutes*/,
30851  1901 /*untilYear*/,
30852  1 /*untilMonth*/,
30853  1 /*untilDay*/,
30854  0 /*untilTimeCode (0/15)*/,
30855  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30856  },
30857  // 10:00 - GST 1941 Dec 10
30858  {
30859  nullptr /*zonePolicy*/,
30860  "GST" /*format*/,
30861  2400 /*offsetCode (36000/15)*/,
30862  0 /*offsetRemainder (36000%15)*/,
30863  0 /*deltaMinutes*/,
30864  1941 /*untilYear*/,
30865  12 /*untilMonth*/,
30866  10 /*untilDay*/,
30867  0 /*untilTimeCode (0/15)*/,
30868  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30869  },
30870  // 9:00 - %z 1944 Jul 31
30871  {
30872  nullptr /*zonePolicy*/,
30873  "" /*format*/,
30874  2160 /*offsetCode (32400/15)*/,
30875  0 /*offsetRemainder (32400%15)*/,
30876  0 /*deltaMinutes*/,
30877  1944 /*untilYear*/,
30878  7 /*untilMonth*/,
30879  31 /*untilDay*/,
30880  0 /*untilTimeCode (0/15)*/,
30881  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30882  },
30883  // 10:00 Guam G%sT 2000 Dec 23
30884  {
30885  &kZonePolicyGuam /*zonePolicy*/,
30886  "G%T" /*format*/,
30887  2400 /*offsetCode (36000/15)*/,
30888  0 /*offsetRemainder (36000%15)*/,
30889  0 /*deltaMinutes*/,
30890  2000 /*untilYear*/,
30891  12 /*untilMonth*/,
30892  23 /*untilDay*/,
30893  0 /*untilTimeCode (0/15)*/,
30894  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30895  },
30896  // 10:00 - ChST
30897  {
30898  nullptr /*zonePolicy*/,
30899  "ChST" /*format*/,
30900  2400 /*offsetCode (36000/15)*/,
30901  0 /*offsetRemainder (36000%15)*/,
30902  0 /*deltaMinutes*/,
30903  32767 /*untilYear*/,
30904  1 /*untilMonth*/,
30905  1 /*untilDay*/,
30906  0 /*untilTimeCode (0/15)*/,
30907  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30908  },
30909 
30910 };
30911 
30912 static const char kZoneNamePacific_Guam[] ACE_TIME_PROGMEM = "\x0e" "Guam";
30913 
30914 const complete::ZoneInfo kZonePacific_Guam ACE_TIME_PROGMEM = {
30915  kZoneNamePacific_Guam /*name*/,
30916  0x2338f9ed /*zoneId*/,
30917  &kZoneContext /*zoneContext*/,
30918  6 /*numEras*/,
30919  kZoneEraPacific_Guam /*eras*/,
30920  nullptr /*targetInfo*/,
30921 };
30922 
30923 //---------------------------------------------------------------------------
30924 // Zone name: Pacific/Honolulu
30925 // Eras: 5
30926 //---------------------------------------------------------------------------
30927 
30928 static const complete::ZoneEra kZoneEraPacific_Honolulu[] ACE_TIME_PROGMEM = {
30929  // -10:31:26 - LMT 1896 Jan 13 12:00
30930  {
30931  nullptr /*zonePolicy*/,
30932  "LMT" /*format*/,
30933  -2526 /*offsetCode (-37886/15)*/,
30934  4 /*offsetRemainder (-37886%15)*/,
30935  0 /*deltaMinutes*/,
30936  1896 /*untilYear*/,
30937  1 /*untilMonth*/,
30938  13 /*untilDay*/,
30939  2880 /*untilTimeCode (43200/15)*/,
30940  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30941  },
30942  // -10:30 - HST 1933 Apr 30 2:00
30943  {
30944  nullptr /*zonePolicy*/,
30945  "HST" /*format*/,
30946  -2520 /*offsetCode (-37800/15)*/,
30947  0 /*offsetRemainder (-37800%15)*/,
30948  0 /*deltaMinutes*/,
30949  1933 /*untilYear*/,
30950  4 /*untilMonth*/,
30951  30 /*untilDay*/,
30952  480 /*untilTimeCode (7200/15)*/,
30953  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30954  },
30955  // -10:30 1:00 HDT 1933 May 21 12:00
30956  {
30957  nullptr /*zonePolicy*/,
30958  "HDT" /*format*/,
30959  -2520 /*offsetCode (-37800/15)*/,
30960  0 /*offsetRemainder (-37800%15)*/,
30961  60 /*deltaMinutes*/,
30962  1933 /*untilYear*/,
30963  5 /*untilMonth*/,
30964  21 /*untilDay*/,
30965  2880 /*untilTimeCode (43200/15)*/,
30966  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30967  },
30968  // -10:30 US H%sT 1947 Jun 8 2:00
30969  {
30970  &kZonePolicyUS /*zonePolicy*/,
30971  "H%T" /*format*/,
30972  -2520 /*offsetCode (-37800/15)*/,
30973  0 /*offsetRemainder (-37800%15)*/,
30974  0 /*deltaMinutes*/,
30975  1947 /*untilYear*/,
30976  6 /*untilMonth*/,
30977  8 /*untilDay*/,
30978  480 /*untilTimeCode (7200/15)*/,
30979  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30980  },
30981  // -10:00 - HST
30982  {
30983  nullptr /*zonePolicy*/,
30984  "HST" /*format*/,
30985  -2400 /*offsetCode (-36000/15)*/,
30986  0 /*offsetRemainder (-36000%15)*/,
30987  0 /*deltaMinutes*/,
30988  32767 /*untilYear*/,
30989  1 /*untilMonth*/,
30990  1 /*untilDay*/,
30991  0 /*untilTimeCode (0/15)*/,
30992  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
30993  },
30994 
30995 };
30996 
30997 static const char kZoneNamePacific_Honolulu[] ACE_TIME_PROGMEM = "\x0e" "Honolulu";
30998 
30999 const complete::ZoneInfo kZonePacific_Honolulu ACE_TIME_PROGMEM = {
31000  kZoneNamePacific_Honolulu /*name*/,
31001  0xe6e70af9 /*zoneId*/,
31002  &kZoneContext /*zoneContext*/,
31003  5 /*numEras*/,
31004  kZoneEraPacific_Honolulu /*eras*/,
31005  nullptr /*targetInfo*/,
31006 };
31007 
31008 //---------------------------------------------------------------------------
31009 // Zone name: Pacific/Kanton
31010 // Eras: 4
31011 //---------------------------------------------------------------------------
31012 
31013 static const complete::ZoneEra kZoneEraPacific_Kanton[] ACE_TIME_PROGMEM = {
31014  // 0 - -00 1937 Aug 31
31015  {
31016  nullptr /*zonePolicy*/,
31017  "-00" /*format*/,
31018  0 /*offsetCode (0/15)*/,
31019  0 /*offsetRemainder (0%15)*/,
31020  0 /*deltaMinutes*/,
31021  1937 /*untilYear*/,
31022  8 /*untilMonth*/,
31023  31 /*untilDay*/,
31024  0 /*untilTimeCode (0/15)*/,
31025  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31026  },
31027  // -12:00 - %z 1979 Oct
31028  {
31029  nullptr /*zonePolicy*/,
31030  "" /*format*/,
31031  -2880 /*offsetCode (-43200/15)*/,
31032  0 /*offsetRemainder (-43200%15)*/,
31033  0 /*deltaMinutes*/,
31034  1979 /*untilYear*/,
31035  10 /*untilMonth*/,
31036  1 /*untilDay*/,
31037  0 /*untilTimeCode (0/15)*/,
31038  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31039  },
31040  // -11:00 - %z 1994 Dec 31
31041  {
31042  nullptr /*zonePolicy*/,
31043  "" /*format*/,
31044  -2640 /*offsetCode (-39600/15)*/,
31045  0 /*offsetRemainder (-39600%15)*/,
31046  0 /*deltaMinutes*/,
31047  1994 /*untilYear*/,
31048  12 /*untilMonth*/,
31049  31 /*untilDay*/,
31050  0 /*untilTimeCode (0/15)*/,
31051  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31052  },
31053  // 13:00 - %z
31054  {
31055  nullptr /*zonePolicy*/,
31056  "" /*format*/,
31057  3120 /*offsetCode (46800/15)*/,
31058  0 /*offsetRemainder (46800%15)*/,
31059  0 /*deltaMinutes*/,
31060  32767 /*untilYear*/,
31061  1 /*untilMonth*/,
31062  1 /*untilDay*/,
31063  0 /*untilTimeCode (0/15)*/,
31064  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31065  },
31066 
31067 };
31068 
31069 static const char kZoneNamePacific_Kanton[] ACE_TIME_PROGMEM = "\x0e" "Kanton";
31070 
31071 const complete::ZoneInfo kZonePacific_Kanton ACE_TIME_PROGMEM = {
31072  kZoneNamePacific_Kanton /*name*/,
31073  0xdd512f0e /*zoneId*/,
31074  &kZoneContext /*zoneContext*/,
31075  4 /*numEras*/,
31076  kZoneEraPacific_Kanton /*eras*/,
31077  nullptr /*targetInfo*/,
31078 };
31079 
31080 //---------------------------------------------------------------------------
31081 // Zone name: Pacific/Kiritimati
31082 // Eras: 4
31083 //---------------------------------------------------------------------------
31084 
31085 static const complete::ZoneEra kZoneEraPacific_Kiritimati[] ACE_TIME_PROGMEM = {
31086  // -10:29:20 - LMT 1901
31087  {
31088  nullptr /*zonePolicy*/,
31089  "LMT" /*format*/,
31090  -2518 /*offsetCode (-37760/15)*/,
31091  10 /*offsetRemainder (-37760%15)*/,
31092  0 /*deltaMinutes*/,
31093  1901 /*untilYear*/,
31094  1 /*untilMonth*/,
31095  1 /*untilDay*/,
31096  0 /*untilTimeCode (0/15)*/,
31097  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31098  },
31099  // -10:40 - %z 1979 Oct
31100  {
31101  nullptr /*zonePolicy*/,
31102  "" /*format*/,
31103  -2560 /*offsetCode (-38400/15)*/,
31104  0 /*offsetRemainder (-38400%15)*/,
31105  0 /*deltaMinutes*/,
31106  1979 /*untilYear*/,
31107  10 /*untilMonth*/,
31108  1 /*untilDay*/,
31109  0 /*untilTimeCode (0/15)*/,
31110  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31111  },
31112  // -10:00 - %z 1994 Dec 31
31113  {
31114  nullptr /*zonePolicy*/,
31115  "" /*format*/,
31116  -2400 /*offsetCode (-36000/15)*/,
31117  0 /*offsetRemainder (-36000%15)*/,
31118  0 /*deltaMinutes*/,
31119  1994 /*untilYear*/,
31120  12 /*untilMonth*/,
31121  31 /*untilDay*/,
31122  0 /*untilTimeCode (0/15)*/,
31123  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31124  },
31125  // 14:00 - %z
31126  {
31127  nullptr /*zonePolicy*/,
31128  "" /*format*/,
31129  3360 /*offsetCode (50400/15)*/,
31130  0 /*offsetRemainder (50400%15)*/,
31131  0 /*deltaMinutes*/,
31132  32767 /*untilYear*/,
31133  1 /*untilMonth*/,
31134  1 /*untilDay*/,
31135  0 /*untilTimeCode (0/15)*/,
31136  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31137  },
31138 
31139 };
31140 
31141 static const char kZoneNamePacific_Kiritimati[] ACE_TIME_PROGMEM = "\x0e" "Kiritimati";
31142 
31143 const complete::ZoneInfo kZonePacific_Kiritimati ACE_TIME_PROGMEM = {
31144  kZoneNamePacific_Kiritimati /*name*/,
31145  0x8305073a /*zoneId*/,
31146  &kZoneContext /*zoneContext*/,
31147  4 /*numEras*/,
31148  kZoneEraPacific_Kiritimati /*eras*/,
31149  nullptr /*targetInfo*/,
31150 };
31151 
31152 //---------------------------------------------------------------------------
31153 // Zone name: Pacific/Kosrae
31154 // Eras: 10
31155 //---------------------------------------------------------------------------
31156 
31157 static const complete::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = {
31158  // -13:08:04 - LMT 1844 Dec 31
31159  {
31160  nullptr /*zonePolicy*/,
31161  "LMT" /*format*/,
31162  -3153 /*offsetCode (-47284/15)*/,
31163  11 /*offsetRemainder (-47284%15)*/,
31164  0 /*deltaMinutes*/,
31165  1844 /*untilYear*/,
31166  12 /*untilMonth*/,
31167  31 /*untilDay*/,
31168  0 /*untilTimeCode (0/15)*/,
31169  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31170  },
31171  // 10:51:56 - LMT 1901
31172  {
31173  nullptr /*zonePolicy*/,
31174  "LMT" /*format*/,
31175  2607 /*offsetCode (39116/15)*/,
31176  11 /*offsetRemainder (39116%15)*/,
31177  0 /*deltaMinutes*/,
31178  1901 /*untilYear*/,
31179  1 /*untilMonth*/,
31180  1 /*untilDay*/,
31181  0 /*untilTimeCode (0/15)*/,
31182  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31183  },
31184  // 11:00 - %z 1914 Oct
31185  {
31186  nullptr /*zonePolicy*/,
31187  "" /*format*/,
31188  2640 /*offsetCode (39600/15)*/,
31189  0 /*offsetRemainder (39600%15)*/,
31190  0 /*deltaMinutes*/,
31191  1914 /*untilYear*/,
31192  10 /*untilMonth*/,
31193  1 /*untilDay*/,
31194  0 /*untilTimeCode (0/15)*/,
31195  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31196  },
31197  // 9:00 - %z 1919 Feb 1
31198  {
31199  nullptr /*zonePolicy*/,
31200  "" /*format*/,
31201  2160 /*offsetCode (32400/15)*/,
31202  0 /*offsetRemainder (32400%15)*/,
31203  0 /*deltaMinutes*/,
31204  1919 /*untilYear*/,
31205  2 /*untilMonth*/,
31206  1 /*untilDay*/,
31207  0 /*untilTimeCode (0/15)*/,
31208  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31209  },
31210  // 11:00 - %z 1937
31211  {
31212  nullptr /*zonePolicy*/,
31213  "" /*format*/,
31214  2640 /*offsetCode (39600/15)*/,
31215  0 /*offsetRemainder (39600%15)*/,
31216  0 /*deltaMinutes*/,
31217  1937 /*untilYear*/,
31218  1 /*untilMonth*/,
31219  1 /*untilDay*/,
31220  0 /*untilTimeCode (0/15)*/,
31221  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31222  },
31223  // 10:00 - %z 1941 Apr 1
31224  {
31225  nullptr /*zonePolicy*/,
31226  "" /*format*/,
31227  2400 /*offsetCode (36000/15)*/,
31228  0 /*offsetRemainder (36000%15)*/,
31229  0 /*deltaMinutes*/,
31230  1941 /*untilYear*/,
31231  4 /*untilMonth*/,
31232  1 /*untilDay*/,
31233  0 /*untilTimeCode (0/15)*/,
31234  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31235  },
31236  // 9:00 - %z 1945 Aug
31237  {
31238  nullptr /*zonePolicy*/,
31239  "" /*format*/,
31240  2160 /*offsetCode (32400/15)*/,
31241  0 /*offsetRemainder (32400%15)*/,
31242  0 /*deltaMinutes*/,
31243  1945 /*untilYear*/,
31244  8 /*untilMonth*/,
31245  1 /*untilDay*/,
31246  0 /*untilTimeCode (0/15)*/,
31247  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31248  },
31249  // 11:00 - %z 1969 Oct
31250  {
31251  nullptr /*zonePolicy*/,
31252  "" /*format*/,
31253  2640 /*offsetCode (39600/15)*/,
31254  0 /*offsetRemainder (39600%15)*/,
31255  0 /*deltaMinutes*/,
31256  1969 /*untilYear*/,
31257  10 /*untilMonth*/,
31258  1 /*untilDay*/,
31259  0 /*untilTimeCode (0/15)*/,
31260  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31261  },
31262  // 12:00 - %z 1999
31263  {
31264  nullptr /*zonePolicy*/,
31265  "" /*format*/,
31266  2880 /*offsetCode (43200/15)*/,
31267  0 /*offsetRemainder (43200%15)*/,
31268  0 /*deltaMinutes*/,
31269  1999 /*untilYear*/,
31270  1 /*untilMonth*/,
31271  1 /*untilDay*/,
31272  0 /*untilTimeCode (0/15)*/,
31273  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31274  },
31275  // 11:00 - %z
31276  {
31277  nullptr /*zonePolicy*/,
31278  "" /*format*/,
31279  2640 /*offsetCode (39600/15)*/,
31280  0 /*offsetRemainder (39600%15)*/,
31281  0 /*deltaMinutes*/,
31282  32767 /*untilYear*/,
31283  1 /*untilMonth*/,
31284  1 /*untilDay*/,
31285  0 /*untilTimeCode (0/15)*/,
31286  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31287  },
31288 
31289 };
31290 
31291 static const char kZoneNamePacific_Kosrae[] ACE_TIME_PROGMEM = "\x0e" "Kosrae";
31292 
31293 const complete::ZoneInfo kZonePacific_Kosrae ACE_TIME_PROGMEM = {
31294  kZoneNamePacific_Kosrae /*name*/,
31295  0xde5139a8 /*zoneId*/,
31296  &kZoneContext /*zoneContext*/,
31297  10 /*numEras*/,
31298  kZoneEraPacific_Kosrae /*eras*/,
31299  nullptr /*targetInfo*/,
31300 };
31301 
31302 //---------------------------------------------------------------------------
31303 // Zone name: Pacific/Kwajalein
31304 // Eras: 7
31305 //---------------------------------------------------------------------------
31306 
31307 static const complete::ZoneEra kZoneEraPacific_Kwajalein[] ACE_TIME_PROGMEM = {
31308  // 11:09:20 - LMT 1901
31309  {
31310  nullptr /*zonePolicy*/,
31311  "LMT" /*format*/,
31312  2677 /*offsetCode (40160/15)*/,
31313  5 /*offsetRemainder (40160%15)*/,
31314  0 /*deltaMinutes*/,
31315  1901 /*untilYear*/,
31316  1 /*untilMonth*/,
31317  1 /*untilDay*/,
31318  0 /*untilTimeCode (0/15)*/,
31319  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31320  },
31321  // 11:00 - %z 1937
31322  {
31323  nullptr /*zonePolicy*/,
31324  "" /*format*/,
31325  2640 /*offsetCode (39600/15)*/,
31326  0 /*offsetRemainder (39600%15)*/,
31327  0 /*deltaMinutes*/,
31328  1937 /*untilYear*/,
31329  1 /*untilMonth*/,
31330  1 /*untilDay*/,
31331  0 /*untilTimeCode (0/15)*/,
31332  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31333  },
31334  // 10:00 - %z 1941 Apr 1
31335  {
31336  nullptr /*zonePolicy*/,
31337  "" /*format*/,
31338  2400 /*offsetCode (36000/15)*/,
31339  0 /*offsetRemainder (36000%15)*/,
31340  0 /*deltaMinutes*/,
31341  1941 /*untilYear*/,
31342  4 /*untilMonth*/,
31343  1 /*untilDay*/,
31344  0 /*untilTimeCode (0/15)*/,
31345  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31346  },
31347  // 9:00 - %z 1944 Feb 6
31348  {
31349  nullptr /*zonePolicy*/,
31350  "" /*format*/,
31351  2160 /*offsetCode (32400/15)*/,
31352  0 /*offsetRemainder (32400%15)*/,
31353  0 /*deltaMinutes*/,
31354  1944 /*untilYear*/,
31355  2 /*untilMonth*/,
31356  6 /*untilDay*/,
31357  0 /*untilTimeCode (0/15)*/,
31358  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31359  },
31360  // 11:00 - %z 1969 Oct
31361  {
31362  nullptr /*zonePolicy*/,
31363  "" /*format*/,
31364  2640 /*offsetCode (39600/15)*/,
31365  0 /*offsetRemainder (39600%15)*/,
31366  0 /*deltaMinutes*/,
31367  1969 /*untilYear*/,
31368  10 /*untilMonth*/,
31369  1 /*untilDay*/,
31370  0 /*untilTimeCode (0/15)*/,
31371  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31372  },
31373  // -12:00 - %z 1993 Aug 20 24:00
31374  {
31375  nullptr /*zonePolicy*/,
31376  "" /*format*/,
31377  -2880 /*offsetCode (-43200/15)*/,
31378  0 /*offsetRemainder (-43200%15)*/,
31379  0 /*deltaMinutes*/,
31380  1993 /*untilYear*/,
31381  8 /*untilMonth*/,
31382  20 /*untilDay*/,
31383  5760 /*untilTimeCode (86400/15)*/,
31384  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31385  },
31386  // 12:00 - %z
31387  {
31388  nullptr /*zonePolicy*/,
31389  "" /*format*/,
31390  2880 /*offsetCode (43200/15)*/,
31391  0 /*offsetRemainder (43200%15)*/,
31392  0 /*deltaMinutes*/,
31393  32767 /*untilYear*/,
31394  1 /*untilMonth*/,
31395  1 /*untilDay*/,
31396  0 /*untilTimeCode (0/15)*/,
31397  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31398  },
31399 
31400 };
31401 
31402 static const char kZoneNamePacific_Kwajalein[] ACE_TIME_PROGMEM = "\x0e" "Kwajalein";
31403 
31404 const complete::ZoneInfo kZonePacific_Kwajalein ACE_TIME_PROGMEM = {
31405  kZoneNamePacific_Kwajalein /*name*/,
31406  0x8e216759 /*zoneId*/,
31407  &kZoneContext /*zoneContext*/,
31408  7 /*numEras*/,
31409  kZoneEraPacific_Kwajalein /*eras*/,
31410  nullptr /*targetInfo*/,
31411 };
31412 
31413 //---------------------------------------------------------------------------
31414 // Zone name: Pacific/Marquesas
31415 // Eras: 2
31416 //---------------------------------------------------------------------------
31417 
31418 static const complete::ZoneEra kZoneEraPacific_Marquesas[] ACE_TIME_PROGMEM = {
31419  // -9:18:00 - LMT 1912 Oct 1
31420  {
31421  nullptr /*zonePolicy*/,
31422  "LMT" /*format*/,
31423  -2232 /*offsetCode (-33480/15)*/,
31424  0 /*offsetRemainder (-33480%15)*/,
31425  0 /*deltaMinutes*/,
31426  1912 /*untilYear*/,
31427  10 /*untilMonth*/,
31428  1 /*untilDay*/,
31429  0 /*untilTimeCode (0/15)*/,
31430  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31431  },
31432  // -9:30 - %z
31433  {
31434  nullptr /*zonePolicy*/,
31435  "" /*format*/,
31436  -2280 /*offsetCode (-34200/15)*/,
31437  0 /*offsetRemainder (-34200%15)*/,
31438  0 /*deltaMinutes*/,
31439  32767 /*untilYear*/,
31440  1 /*untilMonth*/,
31441  1 /*untilDay*/,
31442  0 /*untilTimeCode (0/15)*/,
31443  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31444  },
31445 
31446 };
31447 
31448 static const char kZoneNamePacific_Marquesas[] ACE_TIME_PROGMEM = "\x0e" "Marquesas";
31449 
31450 const complete::ZoneInfo kZonePacific_Marquesas ACE_TIME_PROGMEM = {
31451  kZoneNamePacific_Marquesas /*name*/,
31452  0x57ca7135 /*zoneId*/,
31453  &kZoneContext /*zoneContext*/,
31454  2 /*numEras*/,
31455  kZoneEraPacific_Marquesas /*eras*/,
31456  nullptr /*targetInfo*/,
31457 };
31458 
31459 //---------------------------------------------------------------------------
31460 // Zone name: Pacific/Nauru
31461 // Eras: 5
31462 //---------------------------------------------------------------------------
31463 
31464 static const complete::ZoneEra kZoneEraPacific_Nauru[] ACE_TIME_PROGMEM = {
31465  // 11:07:40 - LMT 1921 Jan 15
31466  {
31467  nullptr /*zonePolicy*/,
31468  "LMT" /*format*/,
31469  2670 /*offsetCode (40060/15)*/,
31470  10 /*offsetRemainder (40060%15)*/,
31471  0 /*deltaMinutes*/,
31472  1921 /*untilYear*/,
31473  1 /*untilMonth*/,
31474  15 /*untilDay*/,
31475  0 /*untilTimeCode (0/15)*/,
31476  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31477  },
31478  // 11:30 - %z 1942 Aug 29
31479  {
31480  nullptr /*zonePolicy*/,
31481  "" /*format*/,
31482  2760 /*offsetCode (41400/15)*/,
31483  0 /*offsetRemainder (41400%15)*/,
31484  0 /*deltaMinutes*/,
31485  1942 /*untilYear*/,
31486  8 /*untilMonth*/,
31487  29 /*untilDay*/,
31488  0 /*untilTimeCode (0/15)*/,
31489  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31490  },
31491  // 9:00 - %z 1945 Sep 8
31492  {
31493  nullptr /*zonePolicy*/,
31494  "" /*format*/,
31495  2160 /*offsetCode (32400/15)*/,
31496  0 /*offsetRemainder (32400%15)*/,
31497  0 /*deltaMinutes*/,
31498  1945 /*untilYear*/,
31499  9 /*untilMonth*/,
31500  8 /*untilDay*/,
31501  0 /*untilTimeCode (0/15)*/,
31502  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31503  },
31504  // 11:30 - %z 1979 Feb 10 2:00
31505  {
31506  nullptr /*zonePolicy*/,
31507  "" /*format*/,
31508  2760 /*offsetCode (41400/15)*/,
31509  0 /*offsetRemainder (41400%15)*/,
31510  0 /*deltaMinutes*/,
31511  1979 /*untilYear*/,
31512  2 /*untilMonth*/,
31513  10 /*untilDay*/,
31514  480 /*untilTimeCode (7200/15)*/,
31515  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31516  },
31517  // 12:00 - %z
31518  {
31519  nullptr /*zonePolicy*/,
31520  "" /*format*/,
31521  2880 /*offsetCode (43200/15)*/,
31522  0 /*offsetRemainder (43200%15)*/,
31523  0 /*deltaMinutes*/,
31524  32767 /*untilYear*/,
31525  1 /*untilMonth*/,
31526  1 /*untilDay*/,
31527  0 /*untilTimeCode (0/15)*/,
31528  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31529  },
31530 
31531 };
31532 
31533 static const char kZoneNamePacific_Nauru[] ACE_TIME_PROGMEM = "\x0e" "Nauru";
31534 
31535 const complete::ZoneInfo kZonePacific_Nauru ACE_TIME_PROGMEM = {
31536  kZoneNamePacific_Nauru /*name*/,
31537  0x8acc41ae /*zoneId*/,
31538  &kZoneContext /*zoneContext*/,
31539  5 /*numEras*/,
31540  kZoneEraPacific_Nauru /*eras*/,
31541  nullptr /*targetInfo*/,
31542 };
31543 
31544 //---------------------------------------------------------------------------
31545 // Zone name: Pacific/Niue
31546 // Eras: 3
31547 //---------------------------------------------------------------------------
31548 
31549 static const complete::ZoneEra kZoneEraPacific_Niue[] ACE_TIME_PROGMEM = {
31550  // -11:19:40 - LMT 1952 Oct 16
31551  {
31552  nullptr /*zonePolicy*/,
31553  "LMT" /*format*/,
31554  -2719 /*offsetCode (-40780/15)*/,
31555  5 /*offsetRemainder (-40780%15)*/,
31556  0 /*deltaMinutes*/,
31557  1952 /*untilYear*/,
31558  10 /*untilMonth*/,
31559  16 /*untilDay*/,
31560  0 /*untilTimeCode (0/15)*/,
31561  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31562  },
31563  // -11:20 - %z 1964 Jul
31564  {
31565  nullptr /*zonePolicy*/,
31566  "" /*format*/,
31567  -2720 /*offsetCode (-40800/15)*/,
31568  0 /*offsetRemainder (-40800%15)*/,
31569  0 /*deltaMinutes*/,
31570  1964 /*untilYear*/,
31571  7 /*untilMonth*/,
31572  1 /*untilDay*/,
31573  0 /*untilTimeCode (0/15)*/,
31574  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31575  },
31576  // -11:00 - %z
31577  {
31578  nullptr /*zonePolicy*/,
31579  "" /*format*/,
31580  -2640 /*offsetCode (-39600/15)*/,
31581  0 /*offsetRemainder (-39600%15)*/,
31582  0 /*deltaMinutes*/,
31583  32767 /*untilYear*/,
31584  1 /*untilMonth*/,
31585  1 /*untilDay*/,
31586  0 /*untilTimeCode (0/15)*/,
31587  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31588  },
31589 
31590 };
31591 
31592 static const char kZoneNamePacific_Niue[] ACE_TIME_PROGMEM = "\x0e" "Niue";
31593 
31594 const complete::ZoneInfo kZonePacific_Niue ACE_TIME_PROGMEM = {
31595  kZoneNamePacific_Niue /*name*/,
31596  0x233ca014 /*zoneId*/,
31597  &kZoneContext /*zoneContext*/,
31598  3 /*numEras*/,
31599  kZoneEraPacific_Niue /*eras*/,
31600  nullptr /*targetInfo*/,
31601 };
31602 
31603 //---------------------------------------------------------------------------
31604 // Zone name: Pacific/Norfolk
31605 // Eras: 7
31606 //---------------------------------------------------------------------------
31607 
31608 static const complete::ZoneEra kZoneEraPacific_Norfolk[] ACE_TIME_PROGMEM = {
31609  // 11:11:52 - LMT 1901
31610  {
31611  nullptr /*zonePolicy*/,
31612  "LMT" /*format*/,
31613  2687 /*offsetCode (40312/15)*/,
31614  7 /*offsetRemainder (40312%15)*/,
31615  0 /*deltaMinutes*/,
31616  1901 /*untilYear*/,
31617  1 /*untilMonth*/,
31618  1 /*untilDay*/,
31619  0 /*untilTimeCode (0/15)*/,
31620  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31621  },
31622  // 11:12 - %z 1951
31623  {
31624  nullptr /*zonePolicy*/,
31625  "" /*format*/,
31626  2688 /*offsetCode (40320/15)*/,
31627  0 /*offsetRemainder (40320%15)*/,
31628  0 /*deltaMinutes*/,
31629  1951 /*untilYear*/,
31630  1 /*untilMonth*/,
31631  1 /*untilDay*/,
31632  0 /*untilTimeCode (0/15)*/,
31633  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31634  },
31635  // 11:30 - %z 1974 Oct 27 02:00s
31636  {
31637  nullptr /*zonePolicy*/,
31638  "" /*format*/,
31639  2760 /*offsetCode (41400/15)*/,
31640  0 /*offsetRemainder (41400%15)*/,
31641  0 /*deltaMinutes*/,
31642  1974 /*untilYear*/,
31643  10 /*untilMonth*/,
31644  27 /*untilDay*/,
31645  480 /*untilTimeCode (7200/15)*/,
31646  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
31647  },
31648  // 11:30 1:00 %z 1975 Mar 2 02:00s
31649  {
31650  nullptr /*zonePolicy*/,
31651  "" /*format*/,
31652  2760 /*offsetCode (41400/15)*/,
31653  0 /*offsetRemainder (41400%15)*/,
31654  60 /*deltaMinutes*/,
31655  1975 /*untilYear*/,
31656  3 /*untilMonth*/,
31657  2 /*untilDay*/,
31658  480 /*untilTimeCode (7200/15)*/,
31659  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
31660  },
31661  // 11:30 - %z 2015 Oct 4 02:00s
31662  {
31663  nullptr /*zonePolicy*/,
31664  "" /*format*/,
31665  2760 /*offsetCode (41400/15)*/,
31666  0 /*offsetRemainder (41400%15)*/,
31667  0 /*deltaMinutes*/,
31668  2015 /*untilYear*/,
31669  10 /*untilMonth*/,
31670  4 /*untilDay*/,
31671  480 /*untilTimeCode (7200/15)*/,
31672  16 /*untilTimeModifier (kAtcSuffixS + seconds=0)*/,
31673  },
31674  // 11:00 - %z 2019 Jul
31675  {
31676  nullptr /*zonePolicy*/,
31677  "" /*format*/,
31678  2640 /*offsetCode (39600/15)*/,
31679  0 /*offsetRemainder (39600%15)*/,
31680  0 /*deltaMinutes*/,
31681  2019 /*untilYear*/,
31682  7 /*untilMonth*/,
31683  1 /*untilDay*/,
31684  0 /*untilTimeCode (0/15)*/,
31685  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31686  },
31687  // 11:00 AN %z
31688  {
31689  &kZonePolicyAN /*zonePolicy*/,
31690  "" /*format*/,
31691  2640 /*offsetCode (39600/15)*/,
31692  0 /*offsetRemainder (39600%15)*/,
31693  0 /*deltaMinutes*/,
31694  32767 /*untilYear*/,
31695  1 /*untilMonth*/,
31696  1 /*untilDay*/,
31697  0 /*untilTimeCode (0/15)*/,
31698  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31699  },
31700 
31701 };
31702 
31703 static const char kZoneNamePacific_Norfolk[] ACE_TIME_PROGMEM = "\x0e" "Norfolk";
31704 
31705 const complete::ZoneInfo kZonePacific_Norfolk ACE_TIME_PROGMEM = {
31706  kZoneNamePacific_Norfolk /*name*/,
31707  0x8f4eb4be /*zoneId*/,
31708  &kZoneContext /*zoneContext*/,
31709  7 /*numEras*/,
31710  kZoneEraPacific_Norfolk /*eras*/,
31711  nullptr /*targetInfo*/,
31712 };
31713 
31714 //---------------------------------------------------------------------------
31715 // Zone name: Pacific/Noumea
31716 // Eras: 2
31717 //---------------------------------------------------------------------------
31718 
31719 static const complete::ZoneEra kZoneEraPacific_Noumea[] ACE_TIME_PROGMEM = {
31720  // 11:05:48 - LMT 1912 Jan 13
31721  {
31722  nullptr /*zonePolicy*/,
31723  "LMT" /*format*/,
31724  2663 /*offsetCode (39948/15)*/,
31725  3 /*offsetRemainder (39948%15)*/,
31726  0 /*deltaMinutes*/,
31727  1912 /*untilYear*/,
31728  1 /*untilMonth*/,
31729  13 /*untilDay*/,
31730  0 /*untilTimeCode (0/15)*/,
31731  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31732  },
31733  // 11:00 NC %z
31734  {
31735  &kZonePolicyNC /*zonePolicy*/,
31736  "" /*format*/,
31737  2640 /*offsetCode (39600/15)*/,
31738  0 /*offsetRemainder (39600%15)*/,
31739  0 /*deltaMinutes*/,
31740  32767 /*untilYear*/,
31741  1 /*untilMonth*/,
31742  1 /*untilDay*/,
31743  0 /*untilTimeCode (0/15)*/,
31744  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31745  },
31746 
31747 };
31748 
31749 static const char kZoneNamePacific_Noumea[] ACE_TIME_PROGMEM = "\x0e" "Noumea";
31750 
31751 const complete::ZoneInfo kZonePacific_Noumea ACE_TIME_PROGMEM = {
31752  kZoneNamePacific_Noumea /*name*/,
31753  0xe551b788 /*zoneId*/,
31754  &kZoneContext /*zoneContext*/,
31755  2 /*numEras*/,
31756  kZoneEraPacific_Noumea /*eras*/,
31757  nullptr /*targetInfo*/,
31758 };
31759 
31760 //---------------------------------------------------------------------------
31761 // Zone name: Pacific/Pago_Pago
31762 // Eras: 3
31763 //---------------------------------------------------------------------------
31764 
31765 static const complete::ZoneEra kZoneEraPacific_Pago_Pago[] ACE_TIME_PROGMEM = {
31766  // 12:37:12 - LMT 1892 Jul 5
31767  {
31768  nullptr /*zonePolicy*/,
31769  "LMT" /*format*/,
31770  3028 /*offsetCode (45432/15)*/,
31771  12 /*offsetRemainder (45432%15)*/,
31772  0 /*deltaMinutes*/,
31773  1892 /*untilYear*/,
31774  7 /*untilMonth*/,
31775  5 /*untilDay*/,
31776  0 /*untilTimeCode (0/15)*/,
31777  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31778  },
31779  // -11:22:48 - LMT 1911
31780  {
31781  nullptr /*zonePolicy*/,
31782  "LMT" /*format*/,
31783  -2732 /*offsetCode (-40968/15)*/,
31784  12 /*offsetRemainder (-40968%15)*/,
31785  0 /*deltaMinutes*/,
31786  1911 /*untilYear*/,
31787  1 /*untilMonth*/,
31788  1 /*untilDay*/,
31789  0 /*untilTimeCode (0/15)*/,
31790  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31791  },
31792  // -11:00 - SST
31793  {
31794  nullptr /*zonePolicy*/,
31795  "SST" /*format*/,
31796  -2640 /*offsetCode (-39600/15)*/,
31797  0 /*offsetRemainder (-39600%15)*/,
31798  0 /*deltaMinutes*/,
31799  32767 /*untilYear*/,
31800  1 /*untilMonth*/,
31801  1 /*untilDay*/,
31802  0 /*untilTimeCode (0/15)*/,
31803  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31804  },
31805 
31806 };
31807 
31808 static const char kZoneNamePacific_Pago_Pago[] ACE_TIME_PROGMEM = "\x0e" "Pago_Pago";
31809 
31810 const complete::ZoneInfo kZonePacific_Pago_Pago ACE_TIME_PROGMEM = {
31811  kZoneNamePacific_Pago_Pago /*name*/,
31812  0x603aebd0 /*zoneId*/,
31813  &kZoneContext /*zoneContext*/,
31814  3 /*numEras*/,
31815  kZoneEraPacific_Pago_Pago /*eras*/,
31816  nullptr /*targetInfo*/,
31817 };
31818 
31819 //---------------------------------------------------------------------------
31820 // Zone name: Pacific/Palau
31821 // Eras: 3
31822 //---------------------------------------------------------------------------
31823 
31824 static const complete::ZoneEra kZoneEraPacific_Palau[] ACE_TIME_PROGMEM = {
31825  // -15:02:04 - LMT 1844 Dec 31
31826  {
31827  nullptr /*zonePolicy*/,
31828  "LMT" /*format*/,
31829  -3609 /*offsetCode (-54124/15)*/,
31830  11 /*offsetRemainder (-54124%15)*/,
31831  0 /*deltaMinutes*/,
31832  1844 /*untilYear*/,
31833  12 /*untilMonth*/,
31834  31 /*untilDay*/,
31835  0 /*untilTimeCode (0/15)*/,
31836  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31837  },
31838  // 8:57:56 - LMT 1901
31839  {
31840  nullptr /*zonePolicy*/,
31841  "LMT" /*format*/,
31842  2151 /*offsetCode (32276/15)*/,
31843  11 /*offsetRemainder (32276%15)*/,
31844  0 /*deltaMinutes*/,
31845  1901 /*untilYear*/,
31846  1 /*untilMonth*/,
31847  1 /*untilDay*/,
31848  0 /*untilTimeCode (0/15)*/,
31849  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31850  },
31851  // 9:00 - %z
31852  {
31853  nullptr /*zonePolicy*/,
31854  "" /*format*/,
31855  2160 /*offsetCode (32400/15)*/,
31856  0 /*offsetRemainder (32400%15)*/,
31857  0 /*deltaMinutes*/,
31858  32767 /*untilYear*/,
31859  1 /*untilMonth*/,
31860  1 /*untilDay*/,
31861  0 /*untilTimeCode (0/15)*/,
31862  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31863  },
31864 
31865 };
31866 
31867 static const char kZoneNamePacific_Palau[] ACE_TIME_PROGMEM = "\x0e" "Palau";
31868 
31869 const complete::ZoneInfo kZonePacific_Palau ACE_TIME_PROGMEM = {
31870  kZoneNamePacific_Palau /*name*/,
31871  0x8af04a36 /*zoneId*/,
31872  &kZoneContext /*zoneContext*/,
31873  3 /*numEras*/,
31874  kZoneEraPacific_Palau /*eras*/,
31875  nullptr /*targetInfo*/,
31876 };
31877 
31878 //---------------------------------------------------------------------------
31879 // Zone name: Pacific/Pitcairn
31880 // Eras: 3
31881 //---------------------------------------------------------------------------
31882 
31883 static const complete::ZoneEra kZoneEraPacific_Pitcairn[] ACE_TIME_PROGMEM = {
31884  // -8:40:20 - LMT 1901
31885  {
31886  nullptr /*zonePolicy*/,
31887  "LMT" /*format*/,
31888  -2082 /*offsetCode (-31220/15)*/,
31889  10 /*offsetRemainder (-31220%15)*/,
31890  0 /*deltaMinutes*/,
31891  1901 /*untilYear*/,
31892  1 /*untilMonth*/,
31893  1 /*untilDay*/,
31894  0 /*untilTimeCode (0/15)*/,
31895  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31896  },
31897  // -8:30 - %z 1998 Apr 27 0:00
31898  {
31899  nullptr /*zonePolicy*/,
31900  "" /*format*/,
31901  -2040 /*offsetCode (-30600/15)*/,
31902  0 /*offsetRemainder (-30600%15)*/,
31903  0 /*deltaMinutes*/,
31904  1998 /*untilYear*/,
31905  4 /*untilMonth*/,
31906  27 /*untilDay*/,
31907  0 /*untilTimeCode (0/15)*/,
31908  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31909  },
31910  // -8:00 - %z
31911  {
31912  nullptr /*zonePolicy*/,
31913  "" /*format*/,
31914  -1920 /*offsetCode (-28800/15)*/,
31915  0 /*offsetRemainder (-28800%15)*/,
31916  0 /*deltaMinutes*/,
31917  32767 /*untilYear*/,
31918  1 /*untilMonth*/,
31919  1 /*untilDay*/,
31920  0 /*untilTimeCode (0/15)*/,
31921  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31922  },
31923 
31924 };
31925 
31926 static const char kZoneNamePacific_Pitcairn[] ACE_TIME_PROGMEM = "\x0e" "Pitcairn";
31927 
31928 const complete::ZoneInfo kZonePacific_Pitcairn ACE_TIME_PROGMEM = {
31929  kZoneNamePacific_Pitcairn /*name*/,
31930  0x8837d8bd /*zoneId*/,
31931  &kZoneContext /*zoneContext*/,
31932  3 /*numEras*/,
31933  kZoneEraPacific_Pitcairn /*eras*/,
31934  nullptr /*targetInfo*/,
31935 };
31936 
31937 //---------------------------------------------------------------------------
31938 // Zone name: Pacific/Port_Moresby
31939 // Eras: 3
31940 //---------------------------------------------------------------------------
31941 
31942 static const complete::ZoneEra kZoneEraPacific_Port_Moresby[] ACE_TIME_PROGMEM = {
31943  // 9:48:40 - LMT 1880
31944  {
31945  nullptr /*zonePolicy*/,
31946  "LMT" /*format*/,
31947  2354 /*offsetCode (35320/15)*/,
31948  10 /*offsetRemainder (35320%15)*/,
31949  0 /*deltaMinutes*/,
31950  1880 /*untilYear*/,
31951  1 /*untilMonth*/,
31952  1 /*untilDay*/,
31953  0 /*untilTimeCode (0/15)*/,
31954  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31955  },
31956  // 9:48:32 - PMMT 1895
31957  {
31958  nullptr /*zonePolicy*/,
31959  "PMMT" /*format*/,
31960  2354 /*offsetCode (35312/15)*/,
31961  2 /*offsetRemainder (35312%15)*/,
31962  0 /*deltaMinutes*/,
31963  1895 /*untilYear*/,
31964  1 /*untilMonth*/,
31965  1 /*untilDay*/,
31966  0 /*untilTimeCode (0/15)*/,
31967  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31968  },
31969  // 10:00 - %z
31970  {
31971  nullptr /*zonePolicy*/,
31972  "" /*format*/,
31973  2400 /*offsetCode (36000/15)*/,
31974  0 /*offsetRemainder (36000%15)*/,
31975  0 /*deltaMinutes*/,
31976  32767 /*untilYear*/,
31977  1 /*untilMonth*/,
31978  1 /*untilDay*/,
31979  0 /*untilTimeCode (0/15)*/,
31980  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
31981  },
31982 
31983 };
31984 
31985 static const char kZoneNamePacific_Port_Moresby[] ACE_TIME_PROGMEM = "\x0e" "Port_Moresby";
31986 
31987 const complete::ZoneInfo kZonePacific_Port_Moresby ACE_TIME_PROGMEM = {
31988  kZoneNamePacific_Port_Moresby /*name*/,
31989  0xa7ba7f68 /*zoneId*/,
31990  &kZoneContext /*zoneContext*/,
31991  3 /*numEras*/,
31992  kZoneEraPacific_Port_Moresby /*eras*/,
31993  nullptr /*targetInfo*/,
31994 };
31995 
31996 //---------------------------------------------------------------------------
31997 // Zone name: Pacific/Rarotonga
31998 // Eras: 4
31999 //---------------------------------------------------------------------------
32000 
32001 static const complete::ZoneEra kZoneEraPacific_Rarotonga[] ACE_TIME_PROGMEM = {
32002  // 13:20:56 - LMT 1899 Dec 26
32003  {
32004  nullptr /*zonePolicy*/,
32005  "LMT" /*format*/,
32006  3203 /*offsetCode (48056/15)*/,
32007  11 /*offsetRemainder (48056%15)*/,
32008  0 /*deltaMinutes*/,
32009  1899 /*untilYear*/,
32010  12 /*untilMonth*/,
32011  26 /*untilDay*/,
32012  0 /*untilTimeCode (0/15)*/,
32013  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32014  },
32015  // -10:39:04 - LMT 1952 Oct 16
32016  {
32017  nullptr /*zonePolicy*/,
32018  "LMT" /*format*/,
32019  -2557 /*offsetCode (-38344/15)*/,
32020  11 /*offsetRemainder (-38344%15)*/,
32021  0 /*deltaMinutes*/,
32022  1952 /*untilYear*/,
32023  10 /*untilMonth*/,
32024  16 /*untilDay*/,
32025  0 /*untilTimeCode (0/15)*/,
32026  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32027  },
32028  // -10:30 - %z 1978 Nov 12
32029  {
32030  nullptr /*zonePolicy*/,
32031  "" /*format*/,
32032  -2520 /*offsetCode (-37800/15)*/,
32033  0 /*offsetRemainder (-37800%15)*/,
32034  0 /*deltaMinutes*/,
32035  1978 /*untilYear*/,
32036  11 /*untilMonth*/,
32037  12 /*untilDay*/,
32038  0 /*untilTimeCode (0/15)*/,
32039  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32040  },
32041  // -10:00 Cook %z
32042  {
32043  &kZonePolicyCook /*zonePolicy*/,
32044  "" /*format*/,
32045  -2400 /*offsetCode (-36000/15)*/,
32046  0 /*offsetRemainder (-36000%15)*/,
32047  0 /*deltaMinutes*/,
32048  32767 /*untilYear*/,
32049  1 /*untilMonth*/,
32050  1 /*untilDay*/,
32051  0 /*untilTimeCode (0/15)*/,
32052  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32053  },
32054 
32055 };
32056 
32057 static const char kZoneNamePacific_Rarotonga[] ACE_TIME_PROGMEM = "\x0e" "Rarotonga";
32058 
32059 const complete::ZoneInfo kZonePacific_Rarotonga ACE_TIME_PROGMEM = {
32060  kZoneNamePacific_Rarotonga /*name*/,
32061  0x9981a3b0 /*zoneId*/,
32062  &kZoneContext /*zoneContext*/,
32063  4 /*numEras*/,
32064  kZoneEraPacific_Rarotonga /*eras*/,
32065  nullptr /*targetInfo*/,
32066 };
32067 
32068 //---------------------------------------------------------------------------
32069 // Zone name: Pacific/Tahiti
32070 // Eras: 2
32071 //---------------------------------------------------------------------------
32072 
32073 static const complete::ZoneEra kZoneEraPacific_Tahiti[] ACE_TIME_PROGMEM = {
32074  // -9:58:16 - LMT 1912 Oct 1
32075  {
32076  nullptr /*zonePolicy*/,
32077  "LMT" /*format*/,
32078  -2394 /*offsetCode (-35896/15)*/,
32079  14 /*offsetRemainder (-35896%15)*/,
32080  0 /*deltaMinutes*/,
32081  1912 /*untilYear*/,
32082  10 /*untilMonth*/,
32083  1 /*untilDay*/,
32084  0 /*untilTimeCode (0/15)*/,
32085  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32086  },
32087  // -10:00 - %z
32088  {
32089  nullptr /*zonePolicy*/,
32090  "" /*format*/,
32091  -2400 /*offsetCode (-36000/15)*/,
32092  0 /*offsetRemainder (-36000%15)*/,
32093  0 /*deltaMinutes*/,
32094  32767 /*untilYear*/,
32095  1 /*untilMonth*/,
32096  1 /*untilDay*/,
32097  0 /*untilTimeCode (0/15)*/,
32098  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32099  },
32100 
32101 };
32102 
32103 static const char kZoneNamePacific_Tahiti[] ACE_TIME_PROGMEM = "\x0e" "Tahiti";
32104 
32105 const complete::ZoneInfo kZonePacific_Tahiti ACE_TIME_PROGMEM = {
32106  kZoneNamePacific_Tahiti /*name*/,
32107  0xf24c2446 /*zoneId*/,
32108  &kZoneContext /*zoneContext*/,
32109  2 /*numEras*/,
32110  kZoneEraPacific_Tahiti /*eras*/,
32111  nullptr /*targetInfo*/,
32112 };
32113 
32114 //---------------------------------------------------------------------------
32115 // Zone name: Pacific/Tarawa
32116 // Eras: 2
32117 //---------------------------------------------------------------------------
32118 
32119 static const complete::ZoneEra kZoneEraPacific_Tarawa[] ACE_TIME_PROGMEM = {
32120  // 11:32:04 - LMT 1901
32121  {
32122  nullptr /*zonePolicy*/,
32123  "LMT" /*format*/,
32124  2768 /*offsetCode (41524/15)*/,
32125  4 /*offsetRemainder (41524%15)*/,
32126  0 /*deltaMinutes*/,
32127  1901 /*untilYear*/,
32128  1 /*untilMonth*/,
32129  1 /*untilDay*/,
32130  0 /*untilTimeCode (0/15)*/,
32131  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32132  },
32133  // 12:00 - %z
32134  {
32135  nullptr /*zonePolicy*/,
32136  "" /*format*/,
32137  2880 /*offsetCode (43200/15)*/,
32138  0 /*offsetRemainder (43200%15)*/,
32139  0 /*deltaMinutes*/,
32140  32767 /*untilYear*/,
32141  1 /*untilMonth*/,
32142  1 /*untilDay*/,
32143  0 /*untilTimeCode (0/15)*/,
32144  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32145  },
32146 
32147 };
32148 
32149 static const char kZoneNamePacific_Tarawa[] ACE_TIME_PROGMEM = "\x0e" "Tarawa";
32150 
32151 const complete::ZoneInfo kZonePacific_Tarawa ACE_TIME_PROGMEM = {
32152  kZoneNamePacific_Tarawa /*name*/,
32153  0xf2517e63 /*zoneId*/,
32154  &kZoneContext /*zoneContext*/,
32155  2 /*numEras*/,
32156  kZoneEraPacific_Tarawa /*eras*/,
32157  nullptr /*targetInfo*/,
32158 };
32159 
32160 //---------------------------------------------------------------------------
32161 // Zone name: Pacific/Tongatapu
32162 // Eras: 4
32163 //---------------------------------------------------------------------------
32164 
32165 static const complete::ZoneEra kZoneEraPacific_Tongatapu[] ACE_TIME_PROGMEM = {
32166  // 12:19:12 - LMT 1945 Sep 10
32167  {
32168  nullptr /*zonePolicy*/,
32169  "LMT" /*format*/,
32170  2956 /*offsetCode (44352/15)*/,
32171  12 /*offsetRemainder (44352%15)*/,
32172  0 /*deltaMinutes*/,
32173  1945 /*untilYear*/,
32174  9 /*untilMonth*/,
32175  10 /*untilDay*/,
32176  0 /*untilTimeCode (0/15)*/,
32177  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32178  },
32179  // 12:20 - %z 1961
32180  {
32181  nullptr /*zonePolicy*/,
32182  "" /*format*/,
32183  2960 /*offsetCode (44400/15)*/,
32184  0 /*offsetRemainder (44400%15)*/,
32185  0 /*deltaMinutes*/,
32186  1961 /*untilYear*/,
32187  1 /*untilMonth*/,
32188  1 /*untilDay*/,
32189  0 /*untilTimeCode (0/15)*/,
32190  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32191  },
32192  // 13:00 - %z 1999
32193  {
32194  nullptr /*zonePolicy*/,
32195  "" /*format*/,
32196  3120 /*offsetCode (46800/15)*/,
32197  0 /*offsetRemainder (46800%15)*/,
32198  0 /*deltaMinutes*/,
32199  1999 /*untilYear*/,
32200  1 /*untilMonth*/,
32201  1 /*untilDay*/,
32202  0 /*untilTimeCode (0/15)*/,
32203  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32204  },
32205  // 13:00 Tonga %z
32206  {
32207  &kZonePolicyTonga /*zonePolicy*/,
32208  "" /*format*/,
32209  3120 /*offsetCode (46800/15)*/,
32210  0 /*offsetRemainder (46800%15)*/,
32211  0 /*deltaMinutes*/,
32212  32767 /*untilYear*/,
32213  1 /*untilMonth*/,
32214  1 /*untilDay*/,
32215  0 /*untilTimeCode (0/15)*/,
32216  0 /*untilTimeModifier (kAtcSuffixW + seconds=0)*/,
32217  },
32218 
32219 };
32220 
32221 static const char kZoneNamePacific_Tongatapu[] ACE_TIME_PROGMEM = "\x0e" "Tongatapu";
32222 
32223 const complete::ZoneInfo kZonePacific_Tongatapu ACE_TIME_PROGMEM = {
32224  kZoneNamePacific_Tongatapu /*name*/,
32225  0x262ca836 /*zoneId*/,
32226  &kZoneContext /*zoneContext*/,
32227  4 /*numEras*/,
32228  kZoneEraPacific_Tongatapu /*eras*/,
32229  nullptr /*targetInfo*/,
32230 };
32231 
32232 
32233 
32234 //---------------------------------------------------------------------------
32235 // Links: 257
32236 //---------------------------------------------------------------------------
32237 
32238 //---------------------------------------------------------------------------
32239 // Link name: Africa/Accra -> Africa/Abidjan
32240 //---------------------------------------------------------------------------
32241 
32242 static const char kZoneNameAfrica_Accra[] ACE_TIME_PROGMEM = "\x01" "Accra";
32243 
32244 const complete::ZoneInfo kZoneAfrica_Accra ACE_TIME_PROGMEM = {
32245  kZoneNameAfrica_Accra /*name*/,
32246  0x77d5b054 /*zoneId*/,
32247  &kZoneContext /*zoneContext*/,
32248  2 /*numEras*/,
32249  kZoneEraAfrica_Abidjan /*eras*/,
32250  &kZoneAfrica_Abidjan /*targetInfo*/,
32251 };
32252 
32253 //---------------------------------------------------------------------------
32254 // Link name: Africa/Addis_Ababa -> Africa/Nairobi
32255 //---------------------------------------------------------------------------
32256 
32257 static const char kZoneNameAfrica_Addis_Ababa[] ACE_TIME_PROGMEM = "\x01" "Addis_Ababa";
32258 
32259 const complete::ZoneInfo kZoneAfrica_Addis_Ababa ACE_TIME_PROGMEM = {
32260  kZoneNameAfrica_Addis_Ababa /*name*/,
32261  0x05ae1e65 /*zoneId*/,
32262  &kZoneContext /*zoneContext*/,
32263  6 /*numEras*/,
32264  kZoneEraAfrica_Nairobi /*eras*/,
32265  &kZoneAfrica_Nairobi /*targetInfo*/,
32266 };
32267 
32268 //---------------------------------------------------------------------------
32269 // Link name: Africa/Asmara -> Africa/Nairobi
32270 //---------------------------------------------------------------------------
32271 
32272 static const char kZoneNameAfrica_Asmara[] ACE_TIME_PROGMEM = "\x01" "Asmara";
32273 
32274 const complete::ZoneInfo kZoneAfrica_Asmara ACE_TIME_PROGMEM = {
32275  kZoneNameAfrica_Asmara /*name*/,
32276  0x73b278ef /*zoneId*/,
32277  &kZoneContext /*zoneContext*/,
32278  6 /*numEras*/,
32279  kZoneEraAfrica_Nairobi /*eras*/,
32280  &kZoneAfrica_Nairobi /*targetInfo*/,
32281 };
32282 
32283 //---------------------------------------------------------------------------
32284 // Link name: Africa/Asmera -> Africa/Nairobi
32285 //---------------------------------------------------------------------------
32286 
32287 static const char kZoneNameAfrica_Asmera[] ACE_TIME_PROGMEM = "\x01" "Asmera";
32288 
32289 const complete::ZoneInfo kZoneAfrica_Asmera ACE_TIME_PROGMEM = {
32290  kZoneNameAfrica_Asmera /*name*/,
32291  0x73b289f3 /*zoneId*/,
32292  &kZoneContext /*zoneContext*/,
32293  6 /*numEras*/,
32294  kZoneEraAfrica_Nairobi /*eras*/,
32295  &kZoneAfrica_Nairobi /*targetInfo*/,
32296 };
32297 
32298 //---------------------------------------------------------------------------
32299 // Link name: Africa/Bamako -> Africa/Abidjan
32300 //---------------------------------------------------------------------------
32301 
32302 static const char kZoneNameAfrica_Bamako[] ACE_TIME_PROGMEM = "\x01" "Bamako";
32303 
32304 const complete::ZoneInfo kZoneAfrica_Bamako ACE_TIME_PROGMEM = {
32305  kZoneNameAfrica_Bamako /*name*/,
32306  0x74c1e7a5 /*zoneId*/,
32307  &kZoneContext /*zoneContext*/,
32308  2 /*numEras*/,
32309  kZoneEraAfrica_Abidjan /*eras*/,
32310  &kZoneAfrica_Abidjan /*targetInfo*/,
32311 };
32312 
32313 //---------------------------------------------------------------------------
32314 // Link name: Africa/Bangui -> Africa/Lagos
32315 //---------------------------------------------------------------------------
32316 
32317 static const char kZoneNameAfrica_Bangui[] ACE_TIME_PROGMEM = "\x01" "Bangui";
32318 
32319 const complete::ZoneInfo kZoneAfrica_Bangui ACE_TIME_PROGMEM = {
32320  kZoneNameAfrica_Bangui /*name*/,
32321  0x74c28ed0 /*zoneId*/,
32322  &kZoneContext /*zoneContext*/,
32323  5 /*numEras*/,
32324  kZoneEraAfrica_Lagos /*eras*/,
32325  &kZoneAfrica_Lagos /*targetInfo*/,
32326 };
32327 
32328 //---------------------------------------------------------------------------
32329 // Link name: Africa/Banjul -> Africa/Abidjan
32330 //---------------------------------------------------------------------------
32331 
32332 static const char kZoneNameAfrica_Banjul[] ACE_TIME_PROGMEM = "\x01" "Banjul";
32333 
32334 const complete::ZoneInfo kZoneAfrica_Banjul ACE_TIME_PROGMEM = {
32335  kZoneNameAfrica_Banjul /*name*/,
32336  0x74c29b96 /*zoneId*/,
32337  &kZoneContext /*zoneContext*/,
32338  2 /*numEras*/,
32339  kZoneEraAfrica_Abidjan /*eras*/,
32340  &kZoneAfrica_Abidjan /*targetInfo*/,
32341 };
32342 
32343 //---------------------------------------------------------------------------
32344 // Link name: Africa/Blantyre -> Africa/Maputo
32345 //---------------------------------------------------------------------------
32346 
32347 static const char kZoneNameAfrica_Blantyre[] ACE_TIME_PROGMEM = "\x01" "Blantyre";
32348 
32349 const complete::ZoneInfo kZoneAfrica_Blantyre ACE_TIME_PROGMEM = {
32350  kZoneNameAfrica_Blantyre /*name*/,
32351  0xe08d813b /*zoneId*/,
32352  &kZoneContext /*zoneContext*/,
32353  2 /*numEras*/,
32354  kZoneEraAfrica_Maputo /*eras*/,
32355  &kZoneAfrica_Maputo /*targetInfo*/,
32356 };
32357 
32358 //---------------------------------------------------------------------------
32359 // Link name: Africa/Brazzaville -> Africa/Lagos
32360 //---------------------------------------------------------------------------
32361 
32362 static const char kZoneNameAfrica_Brazzaville[] ACE_TIME_PROGMEM = "\x01" "Brazzaville";
32363 
32364 const complete::ZoneInfo kZoneAfrica_Brazzaville ACE_TIME_PROGMEM = {
32365  kZoneNameAfrica_Brazzaville /*name*/,
32366  0x39cda760 /*zoneId*/,
32367  &kZoneContext /*zoneContext*/,
32368  5 /*numEras*/,
32369  kZoneEraAfrica_Lagos /*eras*/,
32370  &kZoneAfrica_Lagos /*targetInfo*/,
32371 };
32372 
32373 //---------------------------------------------------------------------------
32374 // Link name: Africa/Bujumbura -> Africa/Maputo
32375 //---------------------------------------------------------------------------
32376 
32377 static const char kZoneNameAfrica_Bujumbura[] ACE_TIME_PROGMEM = "\x01" "Bujumbura";
32378 
32379 const complete::ZoneInfo kZoneAfrica_Bujumbura ACE_TIME_PROGMEM = {
32380  kZoneNameAfrica_Bujumbura /*name*/,
32381  0x05232a47 /*zoneId*/,
32382  &kZoneContext /*zoneContext*/,
32383  2 /*numEras*/,
32384  kZoneEraAfrica_Maputo /*eras*/,
32385  &kZoneAfrica_Maputo /*targetInfo*/,
32386 };
32387 
32388 //---------------------------------------------------------------------------
32389 // Link name: Africa/Conakry -> Africa/Abidjan
32390 //---------------------------------------------------------------------------
32391 
32392 static const char kZoneNameAfrica_Conakry[] ACE_TIME_PROGMEM = "\x01" "Conakry";
32393 
32394 const complete::ZoneInfo kZoneAfrica_Conakry ACE_TIME_PROGMEM = {
32395  kZoneNameAfrica_Conakry /*name*/,
32396  0x7ab36b31 /*zoneId*/,
32397  &kZoneContext /*zoneContext*/,
32398  2 /*numEras*/,
32399  kZoneEraAfrica_Abidjan /*eras*/,
32400  &kZoneAfrica_Abidjan /*targetInfo*/,
32401 };
32402 
32403 //---------------------------------------------------------------------------
32404 // Link name: Africa/Dakar -> Africa/Abidjan
32405 //---------------------------------------------------------------------------
32406 
32407 static const char kZoneNameAfrica_Dakar[] ACE_TIME_PROGMEM = "\x01" "Dakar";
32408 
32409 const complete::ZoneInfo kZoneAfrica_Dakar ACE_TIME_PROGMEM = {
32410  kZoneNameAfrica_Dakar /*name*/,
32411  0x780b00fd /*zoneId*/,
32412  &kZoneContext /*zoneContext*/,
32413  2 /*numEras*/,
32414  kZoneEraAfrica_Abidjan /*eras*/,
32415  &kZoneAfrica_Abidjan /*targetInfo*/,
32416 };
32417 
32418 //---------------------------------------------------------------------------
32419 // Link name: Africa/Dar_es_Salaam -> Africa/Nairobi
32420 //---------------------------------------------------------------------------
32421 
32422 static const char kZoneNameAfrica_Dar_es_Salaam[] ACE_TIME_PROGMEM = "\x01" "Dar_es_Salaam";
32423 
32424 const complete::ZoneInfo kZoneAfrica_Dar_es_Salaam ACE_TIME_PROGMEM = {
32425  kZoneNameAfrica_Dar_es_Salaam /*name*/,
32426  0xa04c47b6 /*zoneId*/,
32427  &kZoneContext /*zoneContext*/,
32428  6 /*numEras*/,
32429  kZoneEraAfrica_Nairobi /*eras*/,
32430  &kZoneAfrica_Nairobi /*targetInfo*/,
32431 };
32432 
32433 //---------------------------------------------------------------------------
32434 // Link name: Africa/Djibouti -> Africa/Nairobi
32435 //---------------------------------------------------------------------------
32436 
32437 static const char kZoneNameAfrica_Djibouti[] ACE_TIME_PROGMEM = "\x01" "Djibouti";
32438 
32439 const complete::ZoneInfo kZoneAfrica_Djibouti ACE_TIME_PROGMEM = {
32440  kZoneNameAfrica_Djibouti /*name*/,
32441  0x30ea01d4 /*zoneId*/,
32442  &kZoneContext /*zoneContext*/,
32443  6 /*numEras*/,
32444  kZoneEraAfrica_Nairobi /*eras*/,
32445  &kZoneAfrica_Nairobi /*targetInfo*/,
32446 };
32447 
32448 //---------------------------------------------------------------------------
32449 // Link name: Africa/Douala -> Africa/Lagos
32450 //---------------------------------------------------------------------------
32451 
32452 static const char kZoneNameAfrica_Douala[] ACE_TIME_PROGMEM = "\x01" "Douala";
32453 
32454 const complete::ZoneInfo kZoneAfrica_Douala ACE_TIME_PROGMEM = {
32455  kZoneNameAfrica_Douala /*name*/,
32456  0x7a6df310 /*zoneId*/,
32457  &kZoneContext /*zoneContext*/,
32458  5 /*numEras*/,
32459  kZoneEraAfrica_Lagos /*eras*/,
32460  &kZoneAfrica_Lagos /*targetInfo*/,
32461 };
32462 
32463 //---------------------------------------------------------------------------
32464 // Link name: Africa/Freetown -> Africa/Abidjan
32465 //---------------------------------------------------------------------------
32466 
32467 static const char kZoneNameAfrica_Freetown[] ACE_TIME_PROGMEM = "\x01" "Freetown";
32468 
32469 const complete::ZoneInfo kZoneAfrica_Freetown ACE_TIME_PROGMEM = {
32470  kZoneNameAfrica_Freetown /*name*/,
32471  0x6823dd64 /*zoneId*/,
32472  &kZoneContext /*zoneContext*/,
32473  2 /*numEras*/,
32474  kZoneEraAfrica_Abidjan /*eras*/,
32475  &kZoneAfrica_Abidjan /*targetInfo*/,
32476 };
32477 
32478 //---------------------------------------------------------------------------
32479 // Link name: Africa/Gaborone -> Africa/Maputo
32480 //---------------------------------------------------------------------------
32481 
32482 static const char kZoneNameAfrica_Gaborone[] ACE_TIME_PROGMEM = "\x01" "Gaborone";
32483 
32484 const complete::ZoneInfo kZoneAfrica_Gaborone ACE_TIME_PROGMEM = {
32485  kZoneNameAfrica_Gaborone /*name*/,
32486  0x317c0aa7 /*zoneId*/,
32487  &kZoneContext /*zoneContext*/,
32488  2 /*numEras*/,
32489  kZoneEraAfrica_Maputo /*eras*/,
32490  &kZoneAfrica_Maputo /*targetInfo*/,
32491 };
32492 
32493 //---------------------------------------------------------------------------
32494 // Link name: Africa/Harare -> Africa/Maputo
32495 //---------------------------------------------------------------------------
32496 
32497 static const char kZoneNameAfrica_Harare[] ACE_TIME_PROGMEM = "\x01" "Harare";
32498 
32499 const complete::ZoneInfo kZoneAfrica_Harare ACE_TIME_PROGMEM = {
32500  kZoneNameAfrica_Harare /*name*/,
32501  0x82c39a2d /*zoneId*/,
32502  &kZoneContext /*zoneContext*/,
32503  2 /*numEras*/,
32504  kZoneEraAfrica_Maputo /*eras*/,
32505  &kZoneAfrica_Maputo /*targetInfo*/,
32506 };
32507 
32508 //---------------------------------------------------------------------------
32509 // Link name: Africa/Kampala -> Africa/Nairobi
32510 //---------------------------------------------------------------------------
32511 
32512 static const char kZoneNameAfrica_Kampala[] ACE_TIME_PROGMEM = "\x01" "Kampala";
32513 
32514 const complete::ZoneInfo kZoneAfrica_Kampala ACE_TIME_PROGMEM = {
32515  kZoneNameAfrica_Kampala /*name*/,
32516  0xc1d30e31 /*zoneId*/,
32517  &kZoneContext /*zoneContext*/,
32518  6 /*numEras*/,
32519  kZoneEraAfrica_Nairobi /*eras*/,
32520  &kZoneAfrica_Nairobi /*targetInfo*/,
32521 };
32522 
32523 //---------------------------------------------------------------------------
32524 // Link name: Africa/Kigali -> Africa/Maputo
32525 //---------------------------------------------------------------------------
32526 
32527 static const char kZoneNameAfrica_Kigali[] ACE_TIME_PROGMEM = "\x01" "Kigali";
32528 
32529 const complete::ZoneInfo kZoneAfrica_Kigali ACE_TIME_PROGMEM = {
32530  kZoneNameAfrica_Kigali /*name*/,
32531  0x8a4dcf2b /*zoneId*/,
32532  &kZoneContext /*zoneContext*/,
32533  2 /*numEras*/,
32534  kZoneEraAfrica_Maputo /*eras*/,
32535  &kZoneAfrica_Maputo /*targetInfo*/,
32536 };
32537 
32538 //---------------------------------------------------------------------------
32539 // Link name: Africa/Kinshasa -> Africa/Lagos
32540 //---------------------------------------------------------------------------
32541 
32542 static const char kZoneNameAfrica_Kinshasa[] ACE_TIME_PROGMEM = "\x01" "Kinshasa";
32543 
32544 const complete::ZoneInfo kZoneAfrica_Kinshasa ACE_TIME_PROGMEM = {
32545  kZoneNameAfrica_Kinshasa /*name*/,
32546  0x6695d70c /*zoneId*/,
32547  &kZoneContext /*zoneContext*/,
32548  5 /*numEras*/,
32549  kZoneEraAfrica_Lagos /*eras*/,
32550  &kZoneAfrica_Lagos /*targetInfo*/,
32551 };
32552 
32553 //---------------------------------------------------------------------------
32554 // Link name: Africa/Libreville -> Africa/Lagos
32555 //---------------------------------------------------------------------------
32556 
32557 static const char kZoneNameAfrica_Libreville[] ACE_TIME_PROGMEM = "\x01" "Libreville";
32558 
32559 const complete::ZoneInfo kZoneAfrica_Libreville ACE_TIME_PROGMEM = {
32560  kZoneNameAfrica_Libreville /*name*/,
32561  0x01d96de4 /*zoneId*/,
32562  &kZoneContext /*zoneContext*/,
32563  5 /*numEras*/,
32564  kZoneEraAfrica_Lagos /*eras*/,
32565  &kZoneAfrica_Lagos /*targetInfo*/,
32566 };
32567 
32568 //---------------------------------------------------------------------------
32569 // Link name: Africa/Lome -> Africa/Abidjan
32570 //---------------------------------------------------------------------------
32571 
32572 static const char kZoneNameAfrica_Lome[] ACE_TIME_PROGMEM = "\x01" "Lome";
32573 
32574 const complete::ZoneInfo kZoneAfrica_Lome ACE_TIME_PROGMEM = {
32575  kZoneNameAfrica_Lome /*name*/,
32576  0xd51c3a07 /*zoneId*/,
32577  &kZoneContext /*zoneContext*/,
32578  2 /*numEras*/,
32579  kZoneEraAfrica_Abidjan /*eras*/,
32580  &kZoneAfrica_Abidjan /*targetInfo*/,
32581 };
32582 
32583 //---------------------------------------------------------------------------
32584 // Link name: Africa/Luanda -> Africa/Lagos
32585 //---------------------------------------------------------------------------
32586 
32587 static const char kZoneNameAfrica_Luanda[] ACE_TIME_PROGMEM = "\x01" "Luanda";
32588 
32589 const complete::ZoneInfo kZoneAfrica_Luanda ACE_TIME_PROGMEM = {
32590  kZoneNameAfrica_Luanda /*name*/,
32591  0x8d7909cf /*zoneId*/,
32592  &kZoneContext /*zoneContext*/,
32593  5 /*numEras*/,
32594  kZoneEraAfrica_Lagos /*eras*/,
32595  &kZoneAfrica_Lagos /*targetInfo*/,
32596 };
32597 
32598 //---------------------------------------------------------------------------
32599 // Link name: Africa/Lubumbashi -> Africa/Maputo
32600 //---------------------------------------------------------------------------
32601 
32602 static const char kZoneNameAfrica_Lubumbashi[] ACE_TIME_PROGMEM = "\x01" "Lubumbashi";
32603 
32604 const complete::ZoneInfo kZoneAfrica_Lubumbashi ACE_TIME_PROGMEM = {
32605  kZoneNameAfrica_Lubumbashi /*name*/,
32606  0x6fd88566 /*zoneId*/,
32607  &kZoneContext /*zoneContext*/,
32608  2 /*numEras*/,
32609  kZoneEraAfrica_Maputo /*eras*/,
32610  &kZoneAfrica_Maputo /*targetInfo*/,
32611 };
32612 
32613 //---------------------------------------------------------------------------
32614 // Link name: Africa/Lusaka -> Africa/Maputo
32615 //---------------------------------------------------------------------------
32616 
32617 static const char kZoneNameAfrica_Lusaka[] ACE_TIME_PROGMEM = "\x01" "Lusaka";
32618 
32619 const complete::ZoneInfo kZoneAfrica_Lusaka ACE_TIME_PROGMEM = {
32620  kZoneNameAfrica_Lusaka /*name*/,
32621  0x8d82b23b /*zoneId*/,
32622  &kZoneContext /*zoneContext*/,
32623  2 /*numEras*/,
32624  kZoneEraAfrica_Maputo /*eras*/,
32625  &kZoneAfrica_Maputo /*targetInfo*/,
32626 };
32627 
32628 //---------------------------------------------------------------------------
32629 // Link name: Africa/Malabo -> Africa/Lagos
32630 //---------------------------------------------------------------------------
32631 
32632 static const char kZoneNameAfrica_Malabo[] ACE_TIME_PROGMEM = "\x01" "Malabo";
32633 
32634 const complete::ZoneInfo kZoneAfrica_Malabo ACE_TIME_PROGMEM = {
32635  kZoneNameAfrica_Malabo /*name*/,
32636  0x8e6a1906 /*zoneId*/,
32637  &kZoneContext /*zoneContext*/,
32638  5 /*numEras*/,
32639  kZoneEraAfrica_Lagos /*eras*/,
32640  &kZoneAfrica_Lagos /*targetInfo*/,
32641 };
32642 
32643 //---------------------------------------------------------------------------
32644 // Link name: Africa/Maseru -> Africa/Johannesburg
32645 //---------------------------------------------------------------------------
32646 
32647 static const char kZoneNameAfrica_Maseru[] ACE_TIME_PROGMEM = "\x01" "Maseru";
32648 
32649 const complete::ZoneInfo kZoneAfrica_Maseru ACE_TIME_PROGMEM = {
32650  kZoneNameAfrica_Maseru /*name*/,
32651  0x8e6e02c7 /*zoneId*/,
32652  &kZoneContext /*zoneContext*/,
32653  3 /*numEras*/,
32654  kZoneEraAfrica_Johannesburg /*eras*/,
32655  &kZoneAfrica_Johannesburg /*targetInfo*/,
32656 };
32657 
32658 //---------------------------------------------------------------------------
32659 // Link name: Africa/Mbabane -> Africa/Johannesburg
32660 //---------------------------------------------------------------------------
32661 
32662 static const char kZoneNameAfrica_Mbabane[] ACE_TIME_PROGMEM = "\x01" "Mbabane";
32663 
32664 const complete::ZoneInfo kZoneAfrica_Mbabane ACE_TIME_PROGMEM = {
32665  kZoneNameAfrica_Mbabane /*name*/,
32666  0x5d3bdd40 /*zoneId*/,
32667  &kZoneContext /*zoneContext*/,
32668  3 /*numEras*/,
32669  kZoneEraAfrica_Johannesburg /*eras*/,
32670  &kZoneAfrica_Johannesburg /*targetInfo*/,
32671 };
32672 
32673 //---------------------------------------------------------------------------
32674 // Link name: Africa/Mogadishu -> Africa/Nairobi
32675 //---------------------------------------------------------------------------
32676 
32677 static const char kZoneNameAfrica_Mogadishu[] ACE_TIME_PROGMEM = "\x01" "Mogadishu";
32678 
32679 const complete::ZoneInfo kZoneAfrica_Mogadishu ACE_TIME_PROGMEM = {
32680  kZoneNameAfrica_Mogadishu /*name*/,
32681  0x66bc159b /*zoneId*/,
32682  &kZoneContext /*zoneContext*/,
32683  6 /*numEras*/,
32684  kZoneEraAfrica_Nairobi /*eras*/,
32685  &kZoneAfrica_Nairobi /*targetInfo*/,
32686 };
32687 
32688 //---------------------------------------------------------------------------
32689 // Link name: Africa/Niamey -> Africa/Lagos
32690 //---------------------------------------------------------------------------
32691 
32692 static const char kZoneNameAfrica_Niamey[] ACE_TIME_PROGMEM = "\x01" "Niamey";
32693 
32694 const complete::ZoneInfo kZoneAfrica_Niamey ACE_TIME_PROGMEM = {
32695  kZoneNameAfrica_Niamey /*name*/,
32696  0x914a30fd /*zoneId*/,
32697  &kZoneContext /*zoneContext*/,
32698  5 /*numEras*/,
32699  kZoneEraAfrica_Lagos /*eras*/,
32700  &kZoneAfrica_Lagos /*targetInfo*/,
32701 };
32702 
32703 //---------------------------------------------------------------------------
32704 // Link name: Africa/Nouakchott -> Africa/Abidjan
32705 //---------------------------------------------------------------------------
32706 
32707 static const char kZoneNameAfrica_Nouakchott[] ACE_TIME_PROGMEM = "\x01" "Nouakchott";
32708 
32709 const complete::ZoneInfo kZoneAfrica_Nouakchott ACE_TIME_PROGMEM = {
32710  kZoneNameAfrica_Nouakchott /*name*/,
32711  0x3dc49dba /*zoneId*/,
32712  &kZoneContext /*zoneContext*/,
32713  2 /*numEras*/,
32714  kZoneEraAfrica_Abidjan /*eras*/,
32715  &kZoneAfrica_Abidjan /*targetInfo*/,
32716 };
32717 
32718 //---------------------------------------------------------------------------
32719 // Link name: Africa/Ouagadougou -> Africa/Abidjan
32720 //---------------------------------------------------------------------------
32721 
32722 static const char kZoneNameAfrica_Ouagadougou[] ACE_TIME_PROGMEM = "\x01" "Ouagadougou";
32723 
32724 const complete::ZoneInfo kZoneAfrica_Ouagadougou ACE_TIME_PROGMEM = {
32725  kZoneNameAfrica_Ouagadougou /*name*/,
32726  0x04d7219a /*zoneId*/,
32727  &kZoneContext /*zoneContext*/,
32728  2 /*numEras*/,
32729  kZoneEraAfrica_Abidjan /*eras*/,
32730  &kZoneAfrica_Abidjan /*targetInfo*/,
32731 };
32732 
32733 //---------------------------------------------------------------------------
32734 // Link name: Africa/Porto-Novo -> Africa/Lagos
32735 //---------------------------------------------------------------------------
32736 
32737 static const char kZoneNameAfrica_Porto_Novo[] ACE_TIME_PROGMEM = "\x01" "Porto-Novo";
32738 
32739 const complete::ZoneInfo kZoneAfrica_Porto_Novo ACE_TIME_PROGMEM = {
32740  kZoneNameAfrica_Porto_Novo /*name*/,
32741  0x3d1bf95d /*zoneId*/,
32742  &kZoneContext /*zoneContext*/,
32743  5 /*numEras*/,
32744  kZoneEraAfrica_Lagos /*eras*/,
32745  &kZoneAfrica_Lagos /*targetInfo*/,
32746 };
32747 
32748 //---------------------------------------------------------------------------
32749 // Link name: Africa/Timbuktu -> Africa/Abidjan
32750 //---------------------------------------------------------------------------
32751 
32752 static const char kZoneNameAfrica_Timbuktu[] ACE_TIME_PROGMEM = "\x01" "Timbuktu";
32753 
32754 const complete::ZoneInfo kZoneAfrica_Timbuktu ACE_TIME_PROGMEM = {
32755  kZoneNameAfrica_Timbuktu /*name*/,
32756  0xb164d56f /*zoneId*/,
32757  &kZoneContext /*zoneContext*/,
32758  2 /*numEras*/,
32759  kZoneEraAfrica_Abidjan /*eras*/,
32760  &kZoneAfrica_Abidjan /*targetInfo*/,
32761 };
32762 
32763 //---------------------------------------------------------------------------
32764 // Link name: America/Anguilla -> America/Puerto_Rico
32765 //---------------------------------------------------------------------------
32766 
32767 static const char kZoneNameAmerica_Anguilla[] ACE_TIME_PROGMEM = "\x02" "Anguilla";
32768 
32769 const complete::ZoneInfo kZoneAmerica_Anguilla ACE_TIME_PROGMEM = {
32770  kZoneNameAmerica_Anguilla /*name*/,
32771  0xafe31333 /*zoneId*/,
32772  &kZoneContext /*zoneContext*/,
32773  4 /*numEras*/,
32774  kZoneEraAmerica_Puerto_Rico /*eras*/,
32775  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
32776 };
32777 
32778 //---------------------------------------------------------------------------
32779 // Link name: America/Antigua -> America/Puerto_Rico
32780 //---------------------------------------------------------------------------
32781 
32782 static const char kZoneNameAmerica_Antigua[] ACE_TIME_PROGMEM = "\x02" "Antigua";
32783 
32784 const complete::ZoneInfo kZoneAmerica_Antigua ACE_TIME_PROGMEM = {
32785  kZoneNameAmerica_Antigua /*name*/,
32786  0xc067a32f /*zoneId*/,
32787  &kZoneContext /*zoneContext*/,
32788  4 /*numEras*/,
32789  kZoneEraAmerica_Puerto_Rico /*eras*/,
32790  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
32791 };
32792 
32793 //---------------------------------------------------------------------------
32794 // Link name: America/Argentina/ComodRivadavia -> America/Argentina/Catamarca
32795 //---------------------------------------------------------------------------
32796 
32797 static const char kZoneNameAmerica_Argentina_ComodRivadavia[] ACE_TIME_PROGMEM = "\x02" "\x04" "ComodRivadavia";
32798 
32799 const complete::ZoneInfo kZoneAmerica_Argentina_ComodRivadavia ACE_TIME_PROGMEM = {
32800  kZoneNameAmerica_Argentina_ComodRivadavia /*name*/,
32801  0x22758877 /*zoneId*/,
32802  &kZoneContext /*zoneContext*/,
32803  12 /*numEras*/,
32804  kZoneEraAmerica_Argentina_Catamarca /*eras*/,
32805  &kZoneAmerica_Argentina_Catamarca /*targetInfo*/,
32806 };
32807 
32808 //---------------------------------------------------------------------------
32809 // Link name: America/Aruba -> America/Puerto_Rico
32810 //---------------------------------------------------------------------------
32811 
32812 static const char kZoneNameAmerica_Aruba[] ACE_TIME_PROGMEM = "\x02" "Aruba";
32813 
32814 const complete::ZoneInfo kZoneAmerica_Aruba ACE_TIME_PROGMEM = {
32815  kZoneNameAmerica_Aruba /*name*/,
32816  0x97cf8651 /*zoneId*/,
32817  &kZoneContext /*zoneContext*/,
32818  4 /*numEras*/,
32819  kZoneEraAmerica_Puerto_Rico /*eras*/,
32820  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
32821 };
32822 
32823 //---------------------------------------------------------------------------
32824 // Link name: America/Atikokan -> America/Panama
32825 //---------------------------------------------------------------------------
32826 
32827 static const char kZoneNameAmerica_Atikokan[] ACE_TIME_PROGMEM = "\x02" "Atikokan";
32828 
32829 const complete::ZoneInfo kZoneAmerica_Atikokan ACE_TIME_PROGMEM = {
32830  kZoneNameAmerica_Atikokan /*name*/,
32831  0x81b92098 /*zoneId*/,
32832  &kZoneContext /*zoneContext*/,
32833  3 /*numEras*/,
32834  kZoneEraAmerica_Panama /*eras*/,
32835  &kZoneAmerica_Panama /*targetInfo*/,
32836 };
32837 
32838 //---------------------------------------------------------------------------
32839 // Link name: America/Atka -> America/Adak
32840 //---------------------------------------------------------------------------
32841 
32842 static const char kZoneNameAmerica_Atka[] ACE_TIME_PROGMEM = "\x02" "Atka";
32843 
32844 const complete::ZoneInfo kZoneAmerica_Atka ACE_TIME_PROGMEM = {
32845  kZoneNameAmerica_Atka /*name*/,
32846  0x97fe8f27 /*zoneId*/,
32847  &kZoneContext /*zoneContext*/,
32848  9 /*numEras*/,
32849  kZoneEraAmerica_Adak /*eras*/,
32850  &kZoneAmerica_Adak /*targetInfo*/,
32851 };
32852 
32853 //---------------------------------------------------------------------------
32854 // Link name: America/Blanc-Sablon -> America/Puerto_Rico
32855 //---------------------------------------------------------------------------
32856 
32857 static const char kZoneNameAmerica_Blanc_Sablon[] ACE_TIME_PROGMEM = "\x02" "Blanc-Sablon";
32858 
32859 const complete::ZoneInfo kZoneAmerica_Blanc_Sablon ACE_TIME_PROGMEM = {
32860  kZoneNameAmerica_Blanc_Sablon /*name*/,
32861  0x6e299892 /*zoneId*/,
32862  &kZoneContext /*zoneContext*/,
32863  4 /*numEras*/,
32864  kZoneEraAmerica_Puerto_Rico /*eras*/,
32865  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
32866 };
32867 
32868 //---------------------------------------------------------------------------
32869 // Link name: America/Buenos_Aires -> America/Argentina/Buenos_Aires
32870 //---------------------------------------------------------------------------
32871 
32872 static const char kZoneNameAmerica_Buenos_Aires[] ACE_TIME_PROGMEM = "\x02" "Buenos_Aires";
32873 
32874 const complete::ZoneInfo kZoneAmerica_Buenos_Aires ACE_TIME_PROGMEM = {
32875  kZoneNameAmerica_Buenos_Aires /*name*/,
32876  0x67d79a05 /*zoneId*/,
32877  &kZoneContext /*zoneContext*/,
32878  7 /*numEras*/,
32879  kZoneEraAmerica_Argentina_Buenos_Aires /*eras*/,
32880  &kZoneAmerica_Argentina_Buenos_Aires /*targetInfo*/,
32881 };
32882 
32883 //---------------------------------------------------------------------------
32884 // Link name: America/Catamarca -> America/Argentina/Catamarca
32885 //---------------------------------------------------------------------------
32886 
32887 static const char kZoneNameAmerica_Catamarca[] ACE_TIME_PROGMEM = "\x02" "Catamarca";
32888 
32889 const complete::ZoneInfo kZoneAmerica_Catamarca ACE_TIME_PROGMEM = {
32890  kZoneNameAmerica_Catamarca /*name*/,
32891  0x5036e963 /*zoneId*/,
32892  &kZoneContext /*zoneContext*/,
32893  12 /*numEras*/,
32894  kZoneEraAmerica_Argentina_Catamarca /*eras*/,
32895  &kZoneAmerica_Argentina_Catamarca /*targetInfo*/,
32896 };
32897 
32898 //---------------------------------------------------------------------------
32899 // Link name: America/Cayman -> America/Panama
32900 //---------------------------------------------------------------------------
32901 
32902 static const char kZoneNameAmerica_Cayman[] ACE_TIME_PROGMEM = "\x02" "Cayman";
32903 
32904 const complete::ZoneInfo kZoneAmerica_Cayman ACE_TIME_PROGMEM = {
32905  kZoneNameAmerica_Cayman /*name*/,
32906  0x953961df /*zoneId*/,
32907  &kZoneContext /*zoneContext*/,
32908  3 /*numEras*/,
32909  kZoneEraAmerica_Panama /*eras*/,
32910  &kZoneAmerica_Panama /*targetInfo*/,
32911 };
32912 
32913 //---------------------------------------------------------------------------
32914 // Link name: America/Coral_Harbour -> America/Panama
32915 //---------------------------------------------------------------------------
32916 
32917 static const char kZoneNameAmerica_Coral_Harbour[] ACE_TIME_PROGMEM = "\x02" "Coral_Harbour";
32918 
32919 const complete::ZoneInfo kZoneAmerica_Coral_Harbour ACE_TIME_PROGMEM = {
32920  kZoneNameAmerica_Coral_Harbour /*name*/,
32921  0xabcb7569 /*zoneId*/,
32922  &kZoneContext /*zoneContext*/,
32923  3 /*numEras*/,
32924  kZoneEraAmerica_Panama /*eras*/,
32925  &kZoneAmerica_Panama /*targetInfo*/,
32926 };
32927 
32928 //---------------------------------------------------------------------------
32929 // Link name: America/Cordoba -> America/Argentina/Cordoba
32930 //---------------------------------------------------------------------------
32931 
32932 static const char kZoneNameAmerica_Cordoba[] ACE_TIME_PROGMEM = "\x02" "Cordoba";
32933 
32934 const complete::ZoneInfo kZoneAmerica_Cordoba ACE_TIME_PROGMEM = {
32935  kZoneNameAmerica_Cordoba /*name*/,
32936  0x5c8a7600 /*zoneId*/,
32937  &kZoneContext /*zoneContext*/,
32938  9 /*numEras*/,
32939  kZoneEraAmerica_Argentina_Cordoba /*eras*/,
32940  &kZoneAmerica_Argentina_Cordoba /*targetInfo*/,
32941 };
32942 
32943 //---------------------------------------------------------------------------
32944 // Link name: America/Creston -> America/Phoenix
32945 //---------------------------------------------------------------------------
32946 
32947 static const char kZoneNameAmerica_Creston[] ACE_TIME_PROGMEM = "\x02" "Creston";
32948 
32949 const complete::ZoneInfo kZoneAmerica_Creston ACE_TIME_PROGMEM = {
32950  kZoneNameAmerica_Creston /*name*/,
32951  0x62a70204 /*zoneId*/,
32952  &kZoneContext /*zoneContext*/,
32953  7 /*numEras*/,
32954  kZoneEraAmerica_Phoenix /*eras*/,
32955  &kZoneAmerica_Phoenix /*targetInfo*/,
32956 };
32957 
32958 //---------------------------------------------------------------------------
32959 // Link name: America/Curacao -> America/Puerto_Rico
32960 //---------------------------------------------------------------------------
32961 
32962 static const char kZoneNameAmerica_Curacao[] ACE_TIME_PROGMEM = "\x02" "Curacao";
32963 
32964 const complete::ZoneInfo kZoneAmerica_Curacao ACE_TIME_PROGMEM = {
32965  kZoneNameAmerica_Curacao /*name*/,
32966  0x6a879184 /*zoneId*/,
32967  &kZoneContext /*zoneContext*/,
32968  4 /*numEras*/,
32969  kZoneEraAmerica_Puerto_Rico /*eras*/,
32970  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
32971 };
32972 
32973 //---------------------------------------------------------------------------
32974 // Link name: America/Dominica -> America/Puerto_Rico
32975 //---------------------------------------------------------------------------
32976 
32977 static const char kZoneNameAmerica_Dominica[] ACE_TIME_PROGMEM = "\x02" "Dominica";
32978 
32979 const complete::ZoneInfo kZoneAmerica_Dominica ACE_TIME_PROGMEM = {
32980  kZoneNameAmerica_Dominica /*name*/,
32981  0xcecb4c4a /*zoneId*/,
32982  &kZoneContext /*zoneContext*/,
32983  4 /*numEras*/,
32984  kZoneEraAmerica_Puerto_Rico /*eras*/,
32985  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
32986 };
32987 
32988 //---------------------------------------------------------------------------
32989 // Link name: America/Ensenada -> America/Tijuana
32990 //---------------------------------------------------------------------------
32991 
32992 static const char kZoneNameAmerica_Ensenada[] ACE_TIME_PROGMEM = "\x02" "Ensenada";
32993 
32994 const complete::ZoneInfo kZoneAmerica_Ensenada ACE_TIME_PROGMEM = {
32995  kZoneNameAmerica_Ensenada /*name*/,
32996  0x7bc95445 /*zoneId*/,
32997  &kZoneContext /*zoneContext*/,
32998  25 /*numEras*/,
32999  kZoneEraAmerica_Tijuana /*eras*/,
33000  &kZoneAmerica_Tijuana /*targetInfo*/,
33001 };
33002 
33003 //---------------------------------------------------------------------------
33004 // Link name: America/Fort_Wayne -> America/Indiana/Indianapolis
33005 //---------------------------------------------------------------------------
33006 
33007 static const char kZoneNameAmerica_Fort_Wayne[] ACE_TIME_PROGMEM = "\x02" "Fort_Wayne";
33008 
33009 const complete::ZoneInfo kZoneAmerica_Fort_Wayne ACE_TIME_PROGMEM = {
33010  kZoneNameAmerica_Fort_Wayne /*name*/,
33011  0x7eaaaf24 /*zoneId*/,
33012  &kZoneContext /*zoneContext*/,
33013  11 /*numEras*/,
33014  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
33015  &kZoneAmerica_Indiana_Indianapolis /*targetInfo*/,
33016 };
33017 
33018 //---------------------------------------------------------------------------
33019 // Link name: America/Godthab -> America/Nuuk
33020 //---------------------------------------------------------------------------
33021 
33022 static const char kZoneNameAmerica_Godthab[] ACE_TIME_PROGMEM = "\x02" "Godthab";
33023 
33024 const complete::ZoneInfo kZoneAmerica_Godthab ACE_TIME_PROGMEM = {
33025  kZoneNameAmerica_Godthab /*name*/,
33026  0x8f7eba1f /*zoneId*/,
33027  &kZoneContext /*zoneContext*/,
33028  5 /*numEras*/,
33029  kZoneEraAmerica_Nuuk /*eras*/,
33030  &kZoneAmerica_Nuuk /*targetInfo*/,
33031 };
33032 
33033 //---------------------------------------------------------------------------
33034 // Link name: America/Grenada -> America/Puerto_Rico
33035 //---------------------------------------------------------------------------
33036 
33037 static const char kZoneNameAmerica_Grenada[] ACE_TIME_PROGMEM = "\x02" "Grenada";
33038 
33039 const complete::ZoneInfo kZoneAmerica_Grenada ACE_TIME_PROGMEM = {
33040  kZoneNameAmerica_Grenada /*name*/,
33041  0x968ce4d8 /*zoneId*/,
33042  &kZoneContext /*zoneContext*/,
33043  4 /*numEras*/,
33044  kZoneEraAmerica_Puerto_Rico /*eras*/,
33045  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33046 };
33047 
33048 //---------------------------------------------------------------------------
33049 // Link name: America/Guadeloupe -> America/Puerto_Rico
33050 //---------------------------------------------------------------------------
33051 
33052 static const char kZoneNameAmerica_Guadeloupe[] ACE_TIME_PROGMEM = "\x02" "Guadeloupe";
33053 
33054 const complete::ZoneInfo kZoneAmerica_Guadeloupe ACE_TIME_PROGMEM = {
33055  kZoneNameAmerica_Guadeloupe /*name*/,
33056  0xcd1f8a31 /*zoneId*/,
33057  &kZoneContext /*zoneContext*/,
33058  4 /*numEras*/,
33059  kZoneEraAmerica_Puerto_Rico /*eras*/,
33060  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33061 };
33062 
33063 //---------------------------------------------------------------------------
33064 // Link name: America/Indianapolis -> America/Indiana/Indianapolis
33065 //---------------------------------------------------------------------------
33066 
33067 static const char kZoneNameAmerica_Indianapolis[] ACE_TIME_PROGMEM = "\x02" "Indianapolis";
33068 
33069 const complete::ZoneInfo kZoneAmerica_Indianapolis ACE_TIME_PROGMEM = {
33070  kZoneNameAmerica_Indianapolis /*name*/,
33071  0x6a009ae1 /*zoneId*/,
33072  &kZoneContext /*zoneContext*/,
33073  11 /*numEras*/,
33074  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
33075  &kZoneAmerica_Indiana_Indianapolis /*targetInfo*/,
33076 };
33077 
33078 //---------------------------------------------------------------------------
33079 // Link name: America/Jujuy -> America/Argentina/Jujuy
33080 //---------------------------------------------------------------------------
33081 
33082 static const char kZoneNameAmerica_Jujuy[] ACE_TIME_PROGMEM = "\x02" "Jujuy";
33083 
33084 const complete::ZoneInfo kZoneAmerica_Jujuy ACE_TIME_PROGMEM = {
33085  kZoneNameAmerica_Jujuy /*name*/,
33086  0x9873dbbd /*zoneId*/,
33087  &kZoneContext /*zoneContext*/,
33088  13 /*numEras*/,
33089  kZoneEraAmerica_Argentina_Jujuy /*eras*/,
33090  &kZoneAmerica_Argentina_Jujuy /*targetInfo*/,
33091 };
33092 
33093 //---------------------------------------------------------------------------
33094 // Link name: America/Knox_IN -> America/Indiana/Knox
33095 //---------------------------------------------------------------------------
33096 
33097 static const char kZoneNameAmerica_Knox_IN[] ACE_TIME_PROGMEM = "\x02" "Knox_IN";
33098 
33099 const complete::ZoneInfo kZoneAmerica_Knox_IN ACE_TIME_PROGMEM = {
33100  kZoneNameAmerica_Knox_IN /*name*/,
33101  0xc1db9a1c /*zoneId*/,
33102  &kZoneContext /*zoneContext*/,
33103  7 /*numEras*/,
33104  kZoneEraAmerica_Indiana_Knox /*eras*/,
33105  &kZoneAmerica_Indiana_Knox /*targetInfo*/,
33106 };
33107 
33108 //---------------------------------------------------------------------------
33109 // Link name: America/Kralendijk -> America/Puerto_Rico
33110 //---------------------------------------------------------------------------
33111 
33112 static const char kZoneNameAmerica_Kralendijk[] ACE_TIME_PROGMEM = "\x02" "Kralendijk";
33113 
33114 const complete::ZoneInfo kZoneAmerica_Kralendijk ACE_TIME_PROGMEM = {
33115  kZoneNameAmerica_Kralendijk /*name*/,
33116  0xe7c456c5 /*zoneId*/,
33117  &kZoneContext /*zoneContext*/,
33118  4 /*numEras*/,
33119  kZoneEraAmerica_Puerto_Rico /*eras*/,
33120  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33121 };
33122 
33123 //---------------------------------------------------------------------------
33124 // Link name: America/Louisville -> America/Kentucky/Louisville
33125 //---------------------------------------------------------------------------
33126 
33127 static const char kZoneNameAmerica_Louisville[] ACE_TIME_PROGMEM = "\x02" "Louisville";
33128 
33129 const complete::ZoneInfo kZoneAmerica_Louisville ACE_TIME_PROGMEM = {
33130  kZoneNameAmerica_Louisville /*name*/,
33131  0x3dcb47ee /*zoneId*/,
33132  &kZoneContext /*zoneContext*/,
33133  9 /*numEras*/,
33134  kZoneEraAmerica_Kentucky_Louisville /*eras*/,
33135  &kZoneAmerica_Kentucky_Louisville /*targetInfo*/,
33136 };
33137 
33138 //---------------------------------------------------------------------------
33139 // Link name: America/Lower_Princes -> America/Puerto_Rico
33140 //---------------------------------------------------------------------------
33141 
33142 static const char kZoneNameAmerica_Lower_Princes[] ACE_TIME_PROGMEM = "\x02" "Lower_Princes";
33143 
33144 const complete::ZoneInfo kZoneAmerica_Lower_Princes ACE_TIME_PROGMEM = {
33145  kZoneNameAmerica_Lower_Princes /*name*/,
33146  0x6ae45b62 /*zoneId*/,
33147  &kZoneContext /*zoneContext*/,
33148  4 /*numEras*/,
33149  kZoneEraAmerica_Puerto_Rico /*eras*/,
33150  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33151 };
33152 
33153 //---------------------------------------------------------------------------
33154 // Link name: America/Marigot -> America/Puerto_Rico
33155 //---------------------------------------------------------------------------
33156 
33157 static const char kZoneNameAmerica_Marigot[] ACE_TIME_PROGMEM = "\x02" "Marigot";
33158 
33159 const complete::ZoneInfo kZoneAmerica_Marigot ACE_TIME_PROGMEM = {
33160  kZoneNameAmerica_Marigot /*name*/,
33161  0x3dab3a59 /*zoneId*/,
33162  &kZoneContext /*zoneContext*/,
33163  4 /*numEras*/,
33164  kZoneEraAmerica_Puerto_Rico /*eras*/,
33165  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33166 };
33167 
33168 //---------------------------------------------------------------------------
33169 // Link name: America/Mendoza -> America/Argentina/Mendoza
33170 //---------------------------------------------------------------------------
33171 
33172 static const char kZoneNameAmerica_Mendoza[] ACE_TIME_PROGMEM = "\x02" "Mendoza";
33173 
33174 const complete::ZoneInfo kZoneAmerica_Mendoza ACE_TIME_PROGMEM = {
33175  kZoneNameAmerica_Mendoza /*name*/,
33176  0x46b4e054 /*zoneId*/,
33177  &kZoneContext /*zoneContext*/,
33178  16 /*numEras*/,
33179  kZoneEraAmerica_Argentina_Mendoza /*eras*/,
33180  &kZoneAmerica_Argentina_Mendoza /*targetInfo*/,
33181 };
33182 
33183 //---------------------------------------------------------------------------
33184 // Link name: America/Montreal -> America/Toronto
33185 //---------------------------------------------------------------------------
33186 
33187 static const char kZoneNameAmerica_Montreal[] ACE_TIME_PROGMEM = "\x02" "Montreal";
33188 
33189 const complete::ZoneInfo kZoneAmerica_Montreal ACE_TIME_PROGMEM = {
33190  kZoneNameAmerica_Montreal /*name*/,
33191  0x203a1ea8 /*zoneId*/,
33192  &kZoneContext /*zoneContext*/,
33193  6 /*numEras*/,
33194  kZoneEraAmerica_Toronto /*eras*/,
33195  &kZoneAmerica_Toronto /*targetInfo*/,
33196 };
33197 
33198 //---------------------------------------------------------------------------
33199 // Link name: America/Montserrat -> America/Puerto_Rico
33200 //---------------------------------------------------------------------------
33201 
33202 static const char kZoneNameAmerica_Montserrat[] ACE_TIME_PROGMEM = "\x02" "Montserrat";
33203 
33204 const complete::ZoneInfo kZoneAmerica_Montserrat ACE_TIME_PROGMEM = {
33205  kZoneNameAmerica_Montserrat /*name*/,
33206  0x199b0a35 /*zoneId*/,
33207  &kZoneContext /*zoneContext*/,
33208  4 /*numEras*/,
33209  kZoneEraAmerica_Puerto_Rico /*eras*/,
33210  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33211 };
33212 
33213 //---------------------------------------------------------------------------
33214 // Link name: America/Nassau -> America/Toronto
33215 //---------------------------------------------------------------------------
33216 
33217 static const char kZoneNameAmerica_Nassau[] ACE_TIME_PROGMEM = "\x02" "Nassau";
33218 
33219 const complete::ZoneInfo kZoneAmerica_Nassau ACE_TIME_PROGMEM = {
33220  kZoneNameAmerica_Nassau /*name*/,
33221  0xaedef011 /*zoneId*/,
33222  &kZoneContext /*zoneContext*/,
33223  6 /*numEras*/,
33224  kZoneEraAmerica_Toronto /*eras*/,
33225  &kZoneAmerica_Toronto /*targetInfo*/,
33226 };
33227 
33228 //---------------------------------------------------------------------------
33229 // Link name: America/Nipigon -> America/Toronto
33230 //---------------------------------------------------------------------------
33231 
33232 static const char kZoneNameAmerica_Nipigon[] ACE_TIME_PROGMEM = "\x02" "Nipigon";
33233 
33234 const complete::ZoneInfo kZoneAmerica_Nipigon ACE_TIME_PROGMEM = {
33235  kZoneNameAmerica_Nipigon /*name*/,
33236  0x9d2a8b1a /*zoneId*/,
33237  &kZoneContext /*zoneContext*/,
33238  6 /*numEras*/,
33239  kZoneEraAmerica_Toronto /*eras*/,
33240  &kZoneAmerica_Toronto /*targetInfo*/,
33241 };
33242 
33243 //---------------------------------------------------------------------------
33244 // Link name: America/Pangnirtung -> America/Iqaluit
33245 //---------------------------------------------------------------------------
33246 
33247 static const char kZoneNameAmerica_Pangnirtung[] ACE_TIME_PROGMEM = "\x02" "Pangnirtung";
33248 
33249 const complete::ZoneInfo kZoneAmerica_Pangnirtung ACE_TIME_PROGMEM = {
33250  kZoneNameAmerica_Pangnirtung /*name*/,
33251  0x2d999193 /*zoneId*/,
33252  &kZoneContext /*zoneContext*/,
33253  4 /*numEras*/,
33254  kZoneEraAmerica_Iqaluit /*eras*/,
33255  &kZoneAmerica_Iqaluit /*targetInfo*/,
33256 };
33257 
33258 //---------------------------------------------------------------------------
33259 // Link name: America/Port_of_Spain -> America/Puerto_Rico
33260 //---------------------------------------------------------------------------
33261 
33262 static const char kZoneNameAmerica_Port_of_Spain[] ACE_TIME_PROGMEM = "\x02" "Port_of_Spain";
33263 
33264 const complete::ZoneInfo kZoneAmerica_Port_of_Spain ACE_TIME_PROGMEM = {
33265  kZoneNameAmerica_Port_of_Spain /*name*/,
33266  0xd8b28d59 /*zoneId*/,
33267  &kZoneContext /*zoneContext*/,
33268  4 /*numEras*/,
33269  kZoneEraAmerica_Puerto_Rico /*eras*/,
33270  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33271 };
33272 
33273 //---------------------------------------------------------------------------
33274 // Link name: America/Porto_Acre -> America/Rio_Branco
33275 //---------------------------------------------------------------------------
33276 
33277 static const char kZoneNameAmerica_Porto_Acre[] ACE_TIME_PROGMEM = "\x02" "Porto_Acre";
33278 
33279 const complete::ZoneInfo kZoneAmerica_Porto_Acre ACE_TIME_PROGMEM = {
33280  kZoneNameAmerica_Porto_Acre /*name*/,
33281  0xcce5bf54 /*zoneId*/,
33282  &kZoneContext /*zoneContext*/,
33283  5 /*numEras*/,
33284  kZoneEraAmerica_Rio_Branco /*eras*/,
33285  &kZoneAmerica_Rio_Branco /*targetInfo*/,
33286 };
33287 
33288 //---------------------------------------------------------------------------
33289 // Link name: America/Rainy_River -> America/Winnipeg
33290 //---------------------------------------------------------------------------
33291 
33292 static const char kZoneNameAmerica_Rainy_River[] ACE_TIME_PROGMEM = "\x02" "Rainy_River";
33293 
33294 const complete::ZoneInfo kZoneAmerica_Rainy_River ACE_TIME_PROGMEM = {
33295  kZoneNameAmerica_Rainy_River /*name*/,
33296  0x9cd58a10 /*zoneId*/,
33297  &kZoneContext /*zoneContext*/,
33298  3 /*numEras*/,
33299  kZoneEraAmerica_Winnipeg /*eras*/,
33300  &kZoneAmerica_Winnipeg /*targetInfo*/,
33301 };
33302 
33303 //---------------------------------------------------------------------------
33304 // Link name: America/Rosario -> America/Argentina/Cordoba
33305 //---------------------------------------------------------------------------
33306 
33307 static const char kZoneNameAmerica_Rosario[] ACE_TIME_PROGMEM = "\x02" "Rosario";
33308 
33309 const complete::ZoneInfo kZoneAmerica_Rosario ACE_TIME_PROGMEM = {
33310  kZoneNameAmerica_Rosario /*name*/,
33311  0xdf448665 /*zoneId*/,
33312  &kZoneContext /*zoneContext*/,
33313  9 /*numEras*/,
33314  kZoneEraAmerica_Argentina_Cordoba /*eras*/,
33315  &kZoneAmerica_Argentina_Cordoba /*targetInfo*/,
33316 };
33317 
33318 //---------------------------------------------------------------------------
33319 // Link name: America/Santa_Isabel -> America/Tijuana
33320 //---------------------------------------------------------------------------
33321 
33322 static const char kZoneNameAmerica_Santa_Isabel[] ACE_TIME_PROGMEM = "\x02" "Santa_Isabel";
33323 
33324 const complete::ZoneInfo kZoneAmerica_Santa_Isabel ACE_TIME_PROGMEM = {
33325  kZoneNameAmerica_Santa_Isabel /*name*/,
33326  0xfd18a56c /*zoneId*/,
33327  &kZoneContext /*zoneContext*/,
33328  25 /*numEras*/,
33329  kZoneEraAmerica_Tijuana /*eras*/,
33330  &kZoneAmerica_Tijuana /*targetInfo*/,
33331 };
33332 
33333 //---------------------------------------------------------------------------
33334 // Link name: America/Shiprock -> America/Denver
33335 //---------------------------------------------------------------------------
33336 
33337 static const char kZoneNameAmerica_Shiprock[] ACE_TIME_PROGMEM = "\x02" "Shiprock";
33338 
33339 const complete::ZoneInfo kZoneAmerica_Shiprock ACE_TIME_PROGMEM = {
33340  kZoneNameAmerica_Shiprock /*name*/,
33341  0x82fb7049 /*zoneId*/,
33342  &kZoneContext /*zoneContext*/,
33343  6 /*numEras*/,
33344  kZoneEraAmerica_Denver /*eras*/,
33345  &kZoneAmerica_Denver /*targetInfo*/,
33346 };
33347 
33348 //---------------------------------------------------------------------------
33349 // Link name: America/St_Barthelemy -> America/Puerto_Rico
33350 //---------------------------------------------------------------------------
33351 
33352 static const char kZoneNameAmerica_St_Barthelemy[] ACE_TIME_PROGMEM = "\x02" "St_Barthelemy";
33353 
33354 const complete::ZoneInfo kZoneAmerica_St_Barthelemy ACE_TIME_PROGMEM = {
33355  kZoneNameAmerica_St_Barthelemy /*name*/,
33356  0x054e6a79 /*zoneId*/,
33357  &kZoneContext /*zoneContext*/,
33358  4 /*numEras*/,
33359  kZoneEraAmerica_Puerto_Rico /*eras*/,
33360  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33361 };
33362 
33363 //---------------------------------------------------------------------------
33364 // Link name: America/St_Kitts -> America/Puerto_Rico
33365 //---------------------------------------------------------------------------
33366 
33367 static const char kZoneNameAmerica_St_Kitts[] ACE_TIME_PROGMEM = "\x02" "St_Kitts";
33368 
33369 const complete::ZoneInfo kZoneAmerica_St_Kitts ACE_TIME_PROGMEM = {
33370  kZoneNameAmerica_St_Kitts /*name*/,
33371  0x04c0507b /*zoneId*/,
33372  &kZoneContext /*zoneContext*/,
33373  4 /*numEras*/,
33374  kZoneEraAmerica_Puerto_Rico /*eras*/,
33375  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33376 };
33377 
33378 //---------------------------------------------------------------------------
33379 // Link name: America/St_Lucia -> America/Puerto_Rico
33380 //---------------------------------------------------------------------------
33381 
33382 static const char kZoneNameAmerica_St_Lucia[] ACE_TIME_PROGMEM = "\x02" "St_Lucia";
33383 
33384 const complete::ZoneInfo kZoneAmerica_St_Lucia ACE_TIME_PROGMEM = {
33385  kZoneNameAmerica_St_Lucia /*name*/,
33386  0x04d8b3ba /*zoneId*/,
33387  &kZoneContext /*zoneContext*/,
33388  4 /*numEras*/,
33389  kZoneEraAmerica_Puerto_Rico /*eras*/,
33390  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33391 };
33392 
33393 //---------------------------------------------------------------------------
33394 // Link name: America/St_Thomas -> America/Puerto_Rico
33395 //---------------------------------------------------------------------------
33396 
33397 static const char kZoneNameAmerica_St_Thomas[] ACE_TIME_PROGMEM = "\x02" "St_Thomas";
33398 
33399 const complete::ZoneInfo kZoneAmerica_St_Thomas ACE_TIME_PROGMEM = {
33400  kZoneNameAmerica_St_Thomas /*name*/,
33401  0xb1b3d778 /*zoneId*/,
33402  &kZoneContext /*zoneContext*/,
33403  4 /*numEras*/,
33404  kZoneEraAmerica_Puerto_Rico /*eras*/,
33405  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33406 };
33407 
33408 //---------------------------------------------------------------------------
33409 // Link name: America/St_Vincent -> America/Puerto_Rico
33410 //---------------------------------------------------------------------------
33411 
33412 static const char kZoneNameAmerica_St_Vincent[] ACE_TIME_PROGMEM = "\x02" "St_Vincent";
33413 
33414 const complete::ZoneInfo kZoneAmerica_St_Vincent ACE_TIME_PROGMEM = {
33415  kZoneNameAmerica_St_Vincent /*name*/,
33416  0x8460e523 /*zoneId*/,
33417  &kZoneContext /*zoneContext*/,
33418  4 /*numEras*/,
33419  kZoneEraAmerica_Puerto_Rico /*eras*/,
33420  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33421 };
33422 
33423 //---------------------------------------------------------------------------
33424 // Link name: America/Thunder_Bay -> America/Toronto
33425 //---------------------------------------------------------------------------
33426 
33427 static const char kZoneNameAmerica_Thunder_Bay[] ACE_TIME_PROGMEM = "\x02" "Thunder_Bay";
33428 
33429 const complete::ZoneInfo kZoneAmerica_Thunder_Bay ACE_TIME_PROGMEM = {
33430  kZoneNameAmerica_Thunder_Bay /*name*/,
33431  0xf962e71b /*zoneId*/,
33432  &kZoneContext /*zoneContext*/,
33433  6 /*numEras*/,
33434  kZoneEraAmerica_Toronto /*eras*/,
33435  &kZoneAmerica_Toronto /*targetInfo*/,
33436 };
33437 
33438 //---------------------------------------------------------------------------
33439 // Link name: America/Tortola -> America/Puerto_Rico
33440 //---------------------------------------------------------------------------
33441 
33442 static const char kZoneNameAmerica_Tortola[] ACE_TIME_PROGMEM = "\x02" "Tortola";
33443 
33444 const complete::ZoneInfo kZoneAmerica_Tortola ACE_TIME_PROGMEM = {
33445  kZoneNameAmerica_Tortola /*name*/,
33446  0x7931462b /*zoneId*/,
33447  &kZoneContext /*zoneContext*/,
33448  4 /*numEras*/,
33449  kZoneEraAmerica_Puerto_Rico /*eras*/,
33450  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33451 };
33452 
33453 //---------------------------------------------------------------------------
33454 // Link name: America/Virgin -> America/Puerto_Rico
33455 //---------------------------------------------------------------------------
33456 
33457 static const char kZoneNameAmerica_Virgin[] ACE_TIME_PROGMEM = "\x02" "Virgin";
33458 
33459 const complete::ZoneInfo kZoneAmerica_Virgin ACE_TIME_PROGMEM = {
33460  kZoneNameAmerica_Virgin /*name*/,
33461  0xc2183ab5 /*zoneId*/,
33462  &kZoneContext /*zoneContext*/,
33463  4 /*numEras*/,
33464  kZoneEraAmerica_Puerto_Rico /*eras*/,
33465  &kZoneAmerica_Puerto_Rico /*targetInfo*/,
33466 };
33467 
33468 //---------------------------------------------------------------------------
33469 // Link name: America/Yellowknife -> America/Edmonton
33470 //---------------------------------------------------------------------------
33471 
33472 static const char kZoneNameAmerica_Yellowknife[] ACE_TIME_PROGMEM = "\x02" "Yellowknife";
33473 
33474 const complete::ZoneInfo kZoneAmerica_Yellowknife ACE_TIME_PROGMEM = {
33475  kZoneNameAmerica_Yellowknife /*name*/,
33476  0x0f76c76f /*zoneId*/,
33477  &kZoneContext /*zoneContext*/,
33478  3 /*numEras*/,
33479  kZoneEraAmerica_Edmonton /*eras*/,
33480  &kZoneAmerica_Edmonton /*targetInfo*/,
33481 };
33482 
33483 //---------------------------------------------------------------------------
33484 // Link name: Antarctica/DumontDUrville -> Pacific/Port_Moresby
33485 //---------------------------------------------------------------------------
33486 
33487 static const char kZoneNameAntarctica_DumontDUrville[] ACE_TIME_PROGMEM = "\x03" "DumontDUrville";
33488 
33489 const complete::ZoneInfo kZoneAntarctica_DumontDUrville ACE_TIME_PROGMEM = {
33490  kZoneNameAntarctica_DumontDUrville /*name*/,
33491  0x5a3c656c /*zoneId*/,
33492  &kZoneContext /*zoneContext*/,
33493  3 /*numEras*/,
33494  kZoneEraPacific_Port_Moresby /*eras*/,
33495  &kZonePacific_Port_Moresby /*targetInfo*/,
33496 };
33497 
33498 //---------------------------------------------------------------------------
33499 // Link name: Antarctica/McMurdo -> Pacific/Auckland
33500 //---------------------------------------------------------------------------
33501 
33502 static const char kZoneNameAntarctica_McMurdo[] ACE_TIME_PROGMEM = "\x03" "McMurdo";
33503 
33504 const complete::ZoneInfo kZoneAntarctica_McMurdo ACE_TIME_PROGMEM = {
33505  kZoneNameAntarctica_McMurdo /*name*/,
33506  0x6eeb5585 /*zoneId*/,
33507  &kZoneContext /*zoneContext*/,
33508  3 /*numEras*/,
33509  kZoneEraPacific_Auckland /*eras*/,
33510  &kZonePacific_Auckland /*targetInfo*/,
33511 };
33512 
33513 //---------------------------------------------------------------------------
33514 // Link name: Antarctica/South_Pole -> Pacific/Auckland
33515 //---------------------------------------------------------------------------
33516 
33517 static const char kZoneNameAntarctica_South_Pole[] ACE_TIME_PROGMEM = "\x03" "South_Pole";
33518 
33519 const complete::ZoneInfo kZoneAntarctica_South_Pole ACE_TIME_PROGMEM = {
33520  kZoneNameAntarctica_South_Pole /*name*/,
33521  0xcd96b290 /*zoneId*/,
33522  &kZoneContext /*zoneContext*/,
33523  3 /*numEras*/,
33524  kZoneEraPacific_Auckland /*eras*/,
33525  &kZonePacific_Auckland /*targetInfo*/,
33526 };
33527 
33528 //---------------------------------------------------------------------------
33529 // Link name: Antarctica/Syowa -> Asia/Riyadh
33530 //---------------------------------------------------------------------------
33531 
33532 static const char kZoneNameAntarctica_Syowa[] ACE_TIME_PROGMEM = "\x03" "Syowa";
33533 
33534 const complete::ZoneInfo kZoneAntarctica_Syowa ACE_TIME_PROGMEM = {
33535  kZoneNameAntarctica_Syowa /*name*/,
33536  0xe330c7e1 /*zoneId*/,
33537  &kZoneContext /*zoneContext*/,
33538  2 /*numEras*/,
33539  kZoneEraAsia_Riyadh /*eras*/,
33540  &kZoneAsia_Riyadh /*targetInfo*/,
33541 };
33542 
33543 //---------------------------------------------------------------------------
33544 // Link name: Arctic/Longyearbyen -> Europe/Berlin
33545 //---------------------------------------------------------------------------
33546 
33547 static const char kZoneNameArctic_Longyearbyen[] ACE_TIME_PROGMEM = "Arctic/Longyearbyen";
33548 
33549 const complete::ZoneInfo kZoneArctic_Longyearbyen ACE_TIME_PROGMEM = {
33550  kZoneNameArctic_Longyearbyen /*name*/,
33551  0xd23e7859 /*zoneId*/,
33552  &kZoneContext /*zoneContext*/,
33553  5 /*numEras*/,
33554  kZoneEraEurope_Berlin /*eras*/,
33555  &kZoneEurope_Berlin /*targetInfo*/,
33556 };
33557 
33558 //---------------------------------------------------------------------------
33559 // Link name: Asia/Aden -> Asia/Riyadh
33560 //---------------------------------------------------------------------------
33561 
33562 static const char kZoneNameAsia_Aden[] ACE_TIME_PROGMEM = "\x05" "Aden";
33563 
33564 const complete::ZoneInfo kZoneAsia_Aden ACE_TIME_PROGMEM = {
33565  kZoneNameAsia_Aden /*name*/,
33566  0x1fa7084a /*zoneId*/,
33567  &kZoneContext /*zoneContext*/,
33568  2 /*numEras*/,
33569  kZoneEraAsia_Riyadh /*eras*/,
33570  &kZoneAsia_Riyadh /*targetInfo*/,
33571 };
33572 
33573 //---------------------------------------------------------------------------
33574 // Link name: Asia/Ashkhabad -> Asia/Ashgabat
33575 //---------------------------------------------------------------------------
33576 
33577 static const char kZoneNameAsia_Ashkhabad[] ACE_TIME_PROGMEM = "\x05" "Ashkhabad";
33578 
33579 const complete::ZoneInfo kZoneAsia_Ashkhabad ACE_TIME_PROGMEM = {
33580  kZoneNameAsia_Ashkhabad /*name*/,
33581  0x15454f09 /*zoneId*/,
33582  &kZoneContext /*zoneContext*/,
33583  5 /*numEras*/,
33584  kZoneEraAsia_Ashgabat /*eras*/,
33585  &kZoneAsia_Ashgabat /*targetInfo*/,
33586 };
33587 
33588 //---------------------------------------------------------------------------
33589 // Link name: Asia/Bahrain -> Asia/Qatar
33590 //---------------------------------------------------------------------------
33591 
33592 static const char kZoneNameAsia_Bahrain[] ACE_TIME_PROGMEM = "\x05" "Bahrain";
33593 
33594 const complete::ZoneInfo kZoneAsia_Bahrain ACE_TIME_PROGMEM = {
33595  kZoneNameAsia_Bahrain /*name*/,
33596  0x9d078487 /*zoneId*/,
33597  &kZoneContext /*zoneContext*/,
33598  3 /*numEras*/,
33599  kZoneEraAsia_Qatar /*eras*/,
33600  &kZoneAsia_Qatar /*targetInfo*/,
33601 };
33602 
33603 //---------------------------------------------------------------------------
33604 // Link name: Asia/Brunei -> Asia/Kuching
33605 //---------------------------------------------------------------------------
33606 
33607 static const char kZoneNameAsia_Brunei[] ACE_TIME_PROGMEM = "\x05" "Brunei";
33608 
33609 const complete::ZoneInfo kZoneAsia_Brunei ACE_TIME_PROGMEM = {
33610  kZoneNameAsia_Brunei /*name*/,
33611  0xa8e595f7 /*zoneId*/,
33612  &kZoneContext /*zoneContext*/,
33613  5 /*numEras*/,
33614  kZoneEraAsia_Kuching /*eras*/,
33615  &kZoneAsia_Kuching /*targetInfo*/,
33616 };
33617 
33618 //---------------------------------------------------------------------------
33619 // Link name: Asia/Calcutta -> Asia/Kolkata
33620 //---------------------------------------------------------------------------
33621 
33622 static const char kZoneNameAsia_Calcutta[] ACE_TIME_PROGMEM = "\x05" "Calcutta";
33623 
33624 const complete::ZoneInfo kZoneAsia_Calcutta ACE_TIME_PROGMEM = {
33625  kZoneNameAsia_Calcutta /*name*/,
33626  0x328a44c3 /*zoneId*/,
33627  &kZoneContext /*zoneContext*/,
33628  8 /*numEras*/,
33629  kZoneEraAsia_Kolkata /*eras*/,
33630  &kZoneAsia_Kolkata /*targetInfo*/,
33631 };
33632 
33633 //---------------------------------------------------------------------------
33634 // Link name: Asia/Choibalsan -> Asia/Ulaanbaatar
33635 //---------------------------------------------------------------------------
33636 
33637 static const char kZoneNameAsia_Choibalsan[] ACE_TIME_PROGMEM = "\x05" "Choibalsan";
33638 
33639 const complete::ZoneInfo kZoneAsia_Choibalsan ACE_TIME_PROGMEM = {
33640  kZoneNameAsia_Choibalsan /*name*/,
33641  0x928aa4a6 /*zoneId*/,
33642  &kZoneContext /*zoneContext*/,
33643  3 /*numEras*/,
33644  kZoneEraAsia_Ulaanbaatar /*eras*/,
33645  &kZoneAsia_Ulaanbaatar /*targetInfo*/,
33646 };
33647 
33648 //---------------------------------------------------------------------------
33649 // Link name: Asia/Chongqing -> Asia/Shanghai
33650 //---------------------------------------------------------------------------
33651 
33652 static const char kZoneNameAsia_Chongqing[] ACE_TIME_PROGMEM = "\x05" "Chongqing";
33653 
33654 const complete::ZoneInfo kZoneAsia_Chongqing ACE_TIME_PROGMEM = {
33655  kZoneNameAsia_Chongqing /*name*/,
33656  0xf937fb90 /*zoneId*/,
33657  &kZoneContext /*zoneContext*/,
33658  3 /*numEras*/,
33659  kZoneEraAsia_Shanghai /*eras*/,
33660  &kZoneAsia_Shanghai /*targetInfo*/,
33661 };
33662 
33663 //---------------------------------------------------------------------------
33664 // Link name: Asia/Chungking -> Asia/Shanghai
33665 //---------------------------------------------------------------------------
33666 
33667 static const char kZoneNameAsia_Chungking[] ACE_TIME_PROGMEM = "\x05" "Chungking";
33668 
33669 const complete::ZoneInfo kZoneAsia_Chungking ACE_TIME_PROGMEM = {
33670  kZoneNameAsia_Chungking /*name*/,
33671  0xc7121dd0 /*zoneId*/,
33672  &kZoneContext /*zoneContext*/,
33673  3 /*numEras*/,
33674  kZoneEraAsia_Shanghai /*eras*/,
33675  &kZoneAsia_Shanghai /*targetInfo*/,
33676 };
33677 
33678 //---------------------------------------------------------------------------
33679 // Link name: Asia/Dacca -> Asia/Dhaka
33680 //---------------------------------------------------------------------------
33681 
33682 static const char kZoneNameAsia_Dacca[] ACE_TIME_PROGMEM = "\x05" "Dacca";
33683 
33684 const complete::ZoneInfo kZoneAsia_Dacca ACE_TIME_PROGMEM = {
33685  kZoneNameAsia_Dacca /*name*/,
33686  0x14bcac5e /*zoneId*/,
33687  &kZoneContext /*zoneContext*/,
33688  7 /*numEras*/,
33689  kZoneEraAsia_Dhaka /*eras*/,
33690  &kZoneAsia_Dhaka /*targetInfo*/,
33691 };
33692 
33693 //---------------------------------------------------------------------------
33694 // Link name: Asia/Harbin -> Asia/Shanghai
33695 //---------------------------------------------------------------------------
33696 
33697 static const char kZoneNameAsia_Harbin[] ACE_TIME_PROGMEM = "\x05" "Harbin";
33698 
33699 const complete::ZoneInfo kZoneAsia_Harbin ACE_TIME_PROGMEM = {
33700  kZoneNameAsia_Harbin /*name*/,
33701  0xb5af1186 /*zoneId*/,
33702  &kZoneContext /*zoneContext*/,
33703  3 /*numEras*/,
33704  kZoneEraAsia_Shanghai /*eras*/,
33705  &kZoneAsia_Shanghai /*targetInfo*/,
33706 };
33707 
33708 //---------------------------------------------------------------------------
33709 // Link name: Asia/Istanbul -> Europe/Istanbul
33710 //---------------------------------------------------------------------------
33711 
33712 static const char kZoneNameAsia_Istanbul[] ACE_TIME_PROGMEM = "\x05" "Istanbul";
33713 
33714 const complete::ZoneInfo kZoneAsia_Istanbul ACE_TIME_PROGMEM = {
33715  kZoneNameAsia_Istanbul /*name*/,
33716  0x382e7894 /*zoneId*/,
33717  &kZoneContext /*zoneContext*/,
33718  13 /*numEras*/,
33719  kZoneEraEurope_Istanbul /*eras*/,
33720  &kZoneEurope_Istanbul /*targetInfo*/,
33721 };
33722 
33723 //---------------------------------------------------------------------------
33724 // Link name: Asia/Kashgar -> Asia/Urumqi
33725 //---------------------------------------------------------------------------
33726 
33727 static const char kZoneNameAsia_Kashgar[] ACE_TIME_PROGMEM = "\x05" "Kashgar";
33728 
33729 const complete::ZoneInfo kZoneAsia_Kashgar ACE_TIME_PROGMEM = {
33730  kZoneNameAsia_Kashgar /*name*/,
33731  0x52955193 /*zoneId*/,
33732  &kZoneContext /*zoneContext*/,
33733  2 /*numEras*/,
33734  kZoneEraAsia_Urumqi /*eras*/,
33735  &kZoneAsia_Urumqi /*targetInfo*/,
33736 };
33737 
33738 //---------------------------------------------------------------------------
33739 // Link name: Asia/Katmandu -> Asia/Kathmandu
33740 //---------------------------------------------------------------------------
33741 
33742 static const char kZoneNameAsia_Katmandu[] ACE_TIME_PROGMEM = "\x05" "Katmandu";
33743 
33744 const complete::ZoneInfo kZoneAsia_Katmandu ACE_TIME_PROGMEM = {
33745  kZoneNameAsia_Katmandu /*name*/,
33746  0xa7ec12c7 /*zoneId*/,
33747  &kZoneContext /*zoneContext*/,
33748  3 /*numEras*/,
33749  kZoneEraAsia_Kathmandu /*eras*/,
33750  &kZoneAsia_Kathmandu /*targetInfo*/,
33751 };
33752 
33753 //---------------------------------------------------------------------------
33754 // Link name: Asia/Kuala_Lumpur -> Asia/Singapore
33755 //---------------------------------------------------------------------------
33756 
33757 static const char kZoneNameAsia_Kuala_Lumpur[] ACE_TIME_PROGMEM = "\x05" "Kuala_Lumpur";
33758 
33759 const complete::ZoneInfo kZoneAsia_Kuala_Lumpur ACE_TIME_PROGMEM = {
33760  kZoneNameAsia_Kuala_Lumpur /*name*/,
33761  0x014763c4 /*zoneId*/,
33762  &kZoneContext /*zoneContext*/,
33763  9 /*numEras*/,
33764  kZoneEraAsia_Singapore /*eras*/,
33765  &kZoneAsia_Singapore /*targetInfo*/,
33766 };
33767 
33768 //---------------------------------------------------------------------------
33769 // Link name: Asia/Kuwait -> Asia/Riyadh
33770 //---------------------------------------------------------------------------
33771 
33772 static const char kZoneNameAsia_Kuwait[] ACE_TIME_PROGMEM = "\x05" "Kuwait";
33773 
33774 const complete::ZoneInfo kZoneAsia_Kuwait ACE_TIME_PROGMEM = {
33775  kZoneNameAsia_Kuwait /*name*/,
33776  0xbe1b2f27 /*zoneId*/,
33777  &kZoneContext /*zoneContext*/,
33778  2 /*numEras*/,
33779  kZoneEraAsia_Riyadh /*eras*/,
33780  &kZoneAsia_Riyadh /*targetInfo*/,
33781 };
33782 
33783 //---------------------------------------------------------------------------
33784 // Link name: Asia/Macao -> Asia/Macau
33785 //---------------------------------------------------------------------------
33786 
33787 static const char kZoneNameAsia_Macao[] ACE_TIME_PROGMEM = "\x05" "Macao";
33788 
33789 const complete::ZoneInfo kZoneAsia_Macao ACE_TIME_PROGMEM = {
33790  kZoneNameAsia_Macao /*name*/,
33791  0x155f88b3 /*zoneId*/,
33792  &kZoneContext /*zoneContext*/,
33793  4 /*numEras*/,
33794  kZoneEraAsia_Macau /*eras*/,
33795  &kZoneAsia_Macau /*targetInfo*/,
33796 };
33797 
33798 //---------------------------------------------------------------------------
33799 // Link name: Asia/Muscat -> Asia/Dubai
33800 //---------------------------------------------------------------------------
33801 
33802 static const char kZoneNameAsia_Muscat[] ACE_TIME_PROGMEM = "\x05" "Muscat";
33803 
33804 const complete::ZoneInfo kZoneAsia_Muscat ACE_TIME_PROGMEM = {
33805  kZoneNameAsia_Muscat /*name*/,
33806  0xc2c3565f /*zoneId*/,
33807  &kZoneContext /*zoneContext*/,
33808  2 /*numEras*/,
33809  kZoneEraAsia_Dubai /*eras*/,
33810  &kZoneAsia_Dubai /*targetInfo*/,
33811 };
33812 
33813 //---------------------------------------------------------------------------
33814 // Link name: Asia/Phnom_Penh -> Asia/Bangkok
33815 //---------------------------------------------------------------------------
33816 
33817 static const char kZoneNameAsia_Phnom_Penh[] ACE_TIME_PROGMEM = "\x05" "Phnom_Penh";
33818 
33819 const complete::ZoneInfo kZoneAsia_Phnom_Penh ACE_TIME_PROGMEM = {
33820  kZoneNameAsia_Phnom_Penh /*name*/,
33821  0xc224945e /*zoneId*/,
33822  &kZoneContext /*zoneContext*/,
33823  3 /*numEras*/,
33824  kZoneEraAsia_Bangkok /*eras*/,
33825  &kZoneAsia_Bangkok /*targetInfo*/,
33826 };
33827 
33828 //---------------------------------------------------------------------------
33829 // Link name: Asia/Rangoon -> Asia/Yangon
33830 //---------------------------------------------------------------------------
33831 
33832 static const char kZoneNameAsia_Rangoon[] ACE_TIME_PROGMEM = "\x05" "Rangoon";
33833 
33834 const complete::ZoneInfo kZoneAsia_Rangoon ACE_TIME_PROGMEM = {
33835  kZoneNameAsia_Rangoon /*name*/,
33836  0x6d1217c6 /*zoneId*/,
33837  &kZoneContext /*zoneContext*/,
33838  5 /*numEras*/,
33839  kZoneEraAsia_Yangon /*eras*/,
33840  &kZoneAsia_Yangon /*targetInfo*/,
33841 };
33842 
33843 //---------------------------------------------------------------------------
33844 // Link name: Asia/Saigon -> Asia/Ho_Chi_Minh
33845 //---------------------------------------------------------------------------
33846 
33847 static const char kZoneNameAsia_Saigon[] ACE_TIME_PROGMEM = "\x05" "Saigon";
33848 
33849 const complete::ZoneInfo kZoneAsia_Saigon ACE_TIME_PROGMEM = {
33850  kZoneNameAsia_Saigon /*name*/,
33851  0xcf52f713 /*zoneId*/,
33852  &kZoneContext /*zoneContext*/,
33853  10 /*numEras*/,
33854  kZoneEraAsia_Ho_Chi_Minh /*eras*/,
33855  &kZoneAsia_Ho_Chi_Minh /*targetInfo*/,
33856 };
33857 
33858 //---------------------------------------------------------------------------
33859 // Link name: Asia/Tel_Aviv -> Asia/Jerusalem
33860 //---------------------------------------------------------------------------
33861 
33862 static const char kZoneNameAsia_Tel_Aviv[] ACE_TIME_PROGMEM = "\x05" "Tel_Aviv";
33863 
33864 const complete::ZoneInfo kZoneAsia_Tel_Aviv ACE_TIME_PROGMEM = {
33865  kZoneNameAsia_Tel_Aviv /*name*/,
33866  0x166d7c2c /*zoneId*/,
33867  &kZoneContext /*zoneContext*/,
33868  3 /*numEras*/,
33869  kZoneEraAsia_Jerusalem /*eras*/,
33870  &kZoneAsia_Jerusalem /*targetInfo*/,
33871 };
33872 
33873 //---------------------------------------------------------------------------
33874 // Link name: Asia/Thimbu -> Asia/Thimphu
33875 //---------------------------------------------------------------------------
33876 
33877 static const char kZoneNameAsia_Thimbu[] ACE_TIME_PROGMEM = "\x05" "Thimbu";
33878 
33879 const complete::ZoneInfo kZoneAsia_Thimbu ACE_TIME_PROGMEM = {
33880  kZoneNameAsia_Thimbu /*name*/,
33881  0xd226e31b /*zoneId*/,
33882  &kZoneContext /*zoneContext*/,
33883  3 /*numEras*/,
33884  kZoneEraAsia_Thimphu /*eras*/,
33885  &kZoneAsia_Thimphu /*targetInfo*/,
33886 };
33887 
33888 //---------------------------------------------------------------------------
33889 // Link name: Asia/Ujung_Pandang -> Asia/Makassar
33890 //---------------------------------------------------------------------------
33891 
33892 static const char kZoneNameAsia_Ujung_Pandang[] ACE_TIME_PROGMEM = "\x05" "Ujung_Pandang";
33893 
33894 const complete::ZoneInfo kZoneAsia_Ujung_Pandang ACE_TIME_PROGMEM = {
33895  kZoneNameAsia_Ujung_Pandang /*name*/,
33896  0x5d001eb3 /*zoneId*/,
33897  &kZoneContext /*zoneContext*/,
33898  5 /*numEras*/,
33899  kZoneEraAsia_Makassar /*eras*/,
33900  &kZoneAsia_Makassar /*targetInfo*/,
33901 };
33902 
33903 //---------------------------------------------------------------------------
33904 // Link name: Asia/Ulan_Bator -> Asia/Ulaanbaatar
33905 //---------------------------------------------------------------------------
33906 
33907 static const char kZoneNameAsia_Ulan_Bator[] ACE_TIME_PROGMEM = "\x05" "Ulan_Bator";
33908 
33909 const complete::ZoneInfo kZoneAsia_Ulan_Bator ACE_TIME_PROGMEM = {
33910  kZoneNameAsia_Ulan_Bator /*name*/,
33911  0x394db4d9 /*zoneId*/,
33912  &kZoneContext /*zoneContext*/,
33913  3 /*numEras*/,
33914  kZoneEraAsia_Ulaanbaatar /*eras*/,
33915  &kZoneAsia_Ulaanbaatar /*targetInfo*/,
33916 };
33917 
33918 //---------------------------------------------------------------------------
33919 // Link name: Asia/Vientiane -> Asia/Bangkok
33920 //---------------------------------------------------------------------------
33921 
33922 static const char kZoneNameAsia_Vientiane[] ACE_TIME_PROGMEM = "\x05" "Vientiane";
33923 
33924 const complete::ZoneInfo kZoneAsia_Vientiane ACE_TIME_PROGMEM = {
33925  kZoneNameAsia_Vientiane /*name*/,
33926  0x89d68d75 /*zoneId*/,
33927  &kZoneContext /*zoneContext*/,
33928  3 /*numEras*/,
33929  kZoneEraAsia_Bangkok /*eras*/,
33930  &kZoneAsia_Bangkok /*targetInfo*/,
33931 };
33932 
33933 //---------------------------------------------------------------------------
33934 // Link name: Atlantic/Faeroe -> Atlantic/Faroe
33935 //---------------------------------------------------------------------------
33936 
33937 static const char kZoneNameAtlantic_Faeroe[] ACE_TIME_PROGMEM = "\x06" "Faeroe";
33938 
33939 const complete::ZoneInfo kZoneAtlantic_Faeroe ACE_TIME_PROGMEM = {
33940  kZoneNameAtlantic_Faeroe /*name*/,
33941  0x031ec516 /*zoneId*/,
33942  &kZoneContext /*zoneContext*/,
33943  3 /*numEras*/,
33944  kZoneEraAtlantic_Faroe /*eras*/,
33945  &kZoneAtlantic_Faroe /*targetInfo*/,
33946 };
33947 
33948 //---------------------------------------------------------------------------
33949 // Link name: Atlantic/Jan_Mayen -> Europe/Berlin
33950 //---------------------------------------------------------------------------
33951 
33952 static const char kZoneNameAtlantic_Jan_Mayen[] ACE_TIME_PROGMEM = "\x06" "Jan_Mayen";
33953 
33954 const complete::ZoneInfo kZoneAtlantic_Jan_Mayen ACE_TIME_PROGMEM = {
33955  kZoneNameAtlantic_Jan_Mayen /*name*/,
33956  0x5a7535b6 /*zoneId*/,
33957  &kZoneContext /*zoneContext*/,
33958  5 /*numEras*/,
33959  kZoneEraEurope_Berlin /*eras*/,
33960  &kZoneEurope_Berlin /*targetInfo*/,
33961 };
33962 
33963 //---------------------------------------------------------------------------
33964 // Link name: Atlantic/Reykjavik -> Africa/Abidjan
33965 //---------------------------------------------------------------------------
33966 
33967 static const char kZoneNameAtlantic_Reykjavik[] ACE_TIME_PROGMEM = "\x06" "Reykjavik";
33968 
33969 const complete::ZoneInfo kZoneAtlantic_Reykjavik ACE_TIME_PROGMEM = {
33970  kZoneNameAtlantic_Reykjavik /*name*/,
33971  0x1c2b4f74 /*zoneId*/,
33972  &kZoneContext /*zoneContext*/,
33973  2 /*numEras*/,
33974  kZoneEraAfrica_Abidjan /*eras*/,
33975  &kZoneAfrica_Abidjan /*targetInfo*/,
33976 };
33977 
33978 //---------------------------------------------------------------------------
33979 // Link name: Atlantic/St_Helena -> Africa/Abidjan
33980 //---------------------------------------------------------------------------
33981 
33982 static const char kZoneNameAtlantic_St_Helena[] ACE_TIME_PROGMEM = "\x06" "St_Helena";
33983 
33984 const complete::ZoneInfo kZoneAtlantic_St_Helena ACE_TIME_PROGMEM = {
33985  kZoneNameAtlantic_St_Helena /*name*/,
33986  0x451fc5f7 /*zoneId*/,
33987  &kZoneContext /*zoneContext*/,
33988  2 /*numEras*/,
33989  kZoneEraAfrica_Abidjan /*eras*/,
33990  &kZoneAfrica_Abidjan /*targetInfo*/,
33991 };
33992 
33993 //---------------------------------------------------------------------------
33994 // Link name: Australia/ACT -> Australia/Sydney
33995 //---------------------------------------------------------------------------
33996 
33997 static const char kZoneNameAustralia_ACT[] ACE_TIME_PROGMEM = "\x07" "ACT";
33998 
33999 const complete::ZoneInfo kZoneAustralia_ACT ACE_TIME_PROGMEM = {
34000  kZoneNameAustralia_ACT /*name*/,
34001  0x8a970eb2 /*zoneId*/,
34002  &kZoneContext /*zoneContext*/,
34003  3 /*numEras*/,
34004  kZoneEraAustralia_Sydney /*eras*/,
34005  &kZoneAustralia_Sydney /*targetInfo*/,
34006 };
34007 
34008 //---------------------------------------------------------------------------
34009 // Link name: Australia/Canberra -> Australia/Sydney
34010 //---------------------------------------------------------------------------
34011 
34012 static const char kZoneNameAustralia_Canberra[] ACE_TIME_PROGMEM = "\x07" "Canberra";
34013 
34014 const complete::ZoneInfo kZoneAustralia_Canberra ACE_TIME_PROGMEM = {
34015  kZoneNameAustralia_Canberra /*name*/,
34016  0x2a09ae58 /*zoneId*/,
34017  &kZoneContext /*zoneContext*/,
34018  3 /*numEras*/,
34019  kZoneEraAustralia_Sydney /*eras*/,
34020  &kZoneAustralia_Sydney /*targetInfo*/,
34021 };
34022 
34023 //---------------------------------------------------------------------------
34024 // Link name: Australia/Currie -> Australia/Hobart
34025 //---------------------------------------------------------------------------
34026 
34027 static const char kZoneNameAustralia_Currie[] ACE_TIME_PROGMEM = "\x07" "Currie";
34028 
34029 const complete::ZoneInfo kZoneAustralia_Currie ACE_TIME_PROGMEM = {
34030  kZoneNameAustralia_Currie /*name*/,
34031  0x278b6a24 /*zoneId*/,
34032  &kZoneContext /*zoneContext*/,
34033  4 /*numEras*/,
34034  kZoneEraAustralia_Hobart /*eras*/,
34035  &kZoneAustralia_Hobart /*targetInfo*/,
34036 };
34037 
34038 //---------------------------------------------------------------------------
34039 // Link name: Australia/LHI -> Australia/Lord_Howe
34040 //---------------------------------------------------------------------------
34041 
34042 static const char kZoneNameAustralia_LHI[] ACE_TIME_PROGMEM = "\x07" "LHI";
34043 
34044 const complete::ZoneInfo kZoneAustralia_LHI ACE_TIME_PROGMEM = {
34045  kZoneNameAustralia_LHI /*name*/,
34046  0x8a973e17 /*zoneId*/,
34047  &kZoneContext /*zoneContext*/,
34048  4 /*numEras*/,
34049  kZoneEraAustralia_Lord_Howe /*eras*/,
34050  &kZoneAustralia_Lord_Howe /*targetInfo*/,
34051 };
34052 
34053 //---------------------------------------------------------------------------
34054 // Link name: Australia/NSW -> Australia/Sydney
34055 //---------------------------------------------------------------------------
34056 
34057 static const char kZoneNameAustralia_NSW[] ACE_TIME_PROGMEM = "\x07" "NSW";
34058 
34059 const complete::ZoneInfo kZoneAustralia_NSW ACE_TIME_PROGMEM = {
34060  kZoneNameAustralia_NSW /*name*/,
34061  0x8a974812 /*zoneId*/,
34062  &kZoneContext /*zoneContext*/,
34063  3 /*numEras*/,
34064  kZoneEraAustralia_Sydney /*eras*/,
34065  &kZoneAustralia_Sydney /*targetInfo*/,
34066 };
34067 
34068 //---------------------------------------------------------------------------
34069 // Link name: Australia/North -> Australia/Darwin
34070 //---------------------------------------------------------------------------
34071 
34072 static const char kZoneNameAustralia_North[] ACE_TIME_PROGMEM = "\x07" "North";
34073 
34074 const complete::ZoneInfo kZoneAustralia_North ACE_TIME_PROGMEM = {
34075  kZoneNameAustralia_North /*name*/,
34076  0x8d997165 /*zoneId*/,
34077  &kZoneContext /*zoneContext*/,
34078  3 /*numEras*/,
34079  kZoneEraAustralia_Darwin /*eras*/,
34080  &kZoneAustralia_Darwin /*targetInfo*/,
34081 };
34082 
34083 //---------------------------------------------------------------------------
34084 // Link name: Australia/Queensland -> Australia/Brisbane
34085 //---------------------------------------------------------------------------
34086 
34087 static const char kZoneNameAustralia_Queensland[] ACE_TIME_PROGMEM = "\x07" "Queensland";
34088 
34089 const complete::ZoneInfo kZoneAustralia_Queensland ACE_TIME_PROGMEM = {
34090  kZoneNameAustralia_Queensland /*name*/,
34091  0xd326ed0a /*zoneId*/,
34092  &kZoneContext /*zoneContext*/,
34093  3 /*numEras*/,
34094  kZoneEraAustralia_Brisbane /*eras*/,
34095  &kZoneAustralia_Brisbane /*targetInfo*/,
34096 };
34097 
34098 //---------------------------------------------------------------------------
34099 // Link name: Australia/South -> Australia/Adelaide
34100 //---------------------------------------------------------------------------
34101 
34102 static const char kZoneNameAustralia_South[] ACE_TIME_PROGMEM = "\x07" "South";
34103 
34104 const complete::ZoneInfo kZoneAustralia_South ACE_TIME_PROGMEM = {
34105  kZoneNameAustralia_South /*name*/,
34106  0x8df3f8ad /*zoneId*/,
34107  &kZoneContext /*zoneContext*/,
34108  4 /*numEras*/,
34109  kZoneEraAustralia_Adelaide /*eras*/,
34110  &kZoneAustralia_Adelaide /*targetInfo*/,
34111 };
34112 
34113 //---------------------------------------------------------------------------
34114 // Link name: Australia/Tasmania -> Australia/Hobart
34115 //---------------------------------------------------------------------------
34116 
34117 static const char kZoneNameAustralia_Tasmania[] ACE_TIME_PROGMEM = "\x07" "Tasmania";
34118 
34119 const complete::ZoneInfo kZoneAustralia_Tasmania ACE_TIME_PROGMEM = {
34120  kZoneNameAustralia_Tasmania /*name*/,
34121  0xe6d76648 /*zoneId*/,
34122  &kZoneContext /*zoneContext*/,
34123  4 /*numEras*/,
34124  kZoneEraAustralia_Hobart /*eras*/,
34125  &kZoneAustralia_Hobart /*targetInfo*/,
34126 };
34127 
34128 //---------------------------------------------------------------------------
34129 // Link name: Australia/Victoria -> Australia/Melbourne
34130 //---------------------------------------------------------------------------
34131 
34132 static const char kZoneNameAustralia_Victoria[] ACE_TIME_PROGMEM = "\x07" "Victoria";
34133 
34134 const complete::ZoneInfo kZoneAustralia_Victoria ACE_TIME_PROGMEM = {
34135  kZoneNameAustralia_Victoria /*name*/,
34136  0x0260d5db /*zoneId*/,
34137  &kZoneContext /*zoneContext*/,
34138  3 /*numEras*/,
34139  kZoneEraAustralia_Melbourne /*eras*/,
34140  &kZoneAustralia_Melbourne /*targetInfo*/,
34141 };
34142 
34143 //---------------------------------------------------------------------------
34144 // Link name: Australia/West -> Australia/Perth
34145 //---------------------------------------------------------------------------
34146 
34147 static const char kZoneNameAustralia_West[] ACE_TIME_PROGMEM = "\x07" "West";
34148 
34149 const complete::ZoneInfo kZoneAustralia_West ACE_TIME_PROGMEM = {
34150  kZoneNameAustralia_West /*name*/,
34151  0xdd858a5d /*zoneId*/,
34152  &kZoneContext /*zoneContext*/,
34153  3 /*numEras*/,
34154  kZoneEraAustralia_Perth /*eras*/,
34155  &kZoneAustralia_Perth /*targetInfo*/,
34156 };
34157 
34158 //---------------------------------------------------------------------------
34159 // Link name: Australia/Yancowinna -> Australia/Broken_Hill
34160 //---------------------------------------------------------------------------
34161 
34162 static const char kZoneNameAustralia_Yancowinna[] ACE_TIME_PROGMEM = "\x07" "Yancowinna";
34163 
34164 const complete::ZoneInfo kZoneAustralia_Yancowinna ACE_TIME_PROGMEM = {
34165  kZoneNameAustralia_Yancowinna /*name*/,
34166  0x90bac131 /*zoneId*/,
34167  &kZoneContext /*zoneContext*/,
34168  6 /*numEras*/,
34169  kZoneEraAustralia_Broken_Hill /*eras*/,
34170  &kZoneAustralia_Broken_Hill /*targetInfo*/,
34171 };
34172 
34173 //---------------------------------------------------------------------------
34174 // Link name: Brazil/Acre -> America/Rio_Branco
34175 //---------------------------------------------------------------------------
34176 
34177 static const char kZoneNameBrazil_Acre[] ACE_TIME_PROGMEM = "\x08" "Acre";
34178 
34179 const complete::ZoneInfo kZoneBrazil_Acre ACE_TIME_PROGMEM = {
34180  kZoneNameBrazil_Acre /*name*/,
34181  0x66934f93 /*zoneId*/,
34182  &kZoneContext /*zoneContext*/,
34183  5 /*numEras*/,
34184  kZoneEraAmerica_Rio_Branco /*eras*/,
34185  &kZoneAmerica_Rio_Branco /*targetInfo*/,
34186 };
34187 
34188 //---------------------------------------------------------------------------
34189 // Link name: Brazil/DeNoronha -> America/Noronha
34190 //---------------------------------------------------------------------------
34191 
34192 static const char kZoneNameBrazil_DeNoronha[] ACE_TIME_PROGMEM = "\x08" "DeNoronha";
34193 
34194 const complete::ZoneInfo kZoneBrazil_DeNoronha ACE_TIME_PROGMEM = {
34195  kZoneNameBrazil_DeNoronha /*name*/,
34196  0x9b4cb496 /*zoneId*/,
34197  &kZoneContext /*zoneContext*/,
34198  7 /*numEras*/,
34199  kZoneEraAmerica_Noronha /*eras*/,
34200  &kZoneAmerica_Noronha /*targetInfo*/,
34201 };
34202 
34203 //---------------------------------------------------------------------------
34204 // Link name: Brazil/East -> America/Sao_Paulo
34205 //---------------------------------------------------------------------------
34206 
34207 static const char kZoneNameBrazil_East[] ACE_TIME_PROGMEM = "\x08" "East";
34208 
34209 const complete::ZoneInfo kZoneBrazil_East ACE_TIME_PROGMEM = {
34210  kZoneNameBrazil_East /*name*/,
34211  0x669578c5 /*zoneId*/,
34212  &kZoneContext /*zoneContext*/,
34213  4 /*numEras*/,
34214  kZoneEraAmerica_Sao_Paulo /*eras*/,
34215  &kZoneAmerica_Sao_Paulo /*targetInfo*/,
34216 };
34217 
34218 //---------------------------------------------------------------------------
34219 // Link name: Brazil/West -> America/Manaus
34220 //---------------------------------------------------------------------------
34221 
34222 static const char kZoneNameBrazil_West[] ACE_TIME_PROGMEM = "\x08" "West";
34223 
34224 const complete::ZoneInfo kZoneBrazil_West ACE_TIME_PROGMEM = {
34225  kZoneNameBrazil_West /*name*/,
34226  0x669f689b /*zoneId*/,
34227  &kZoneContext /*zoneContext*/,
34228  5 /*numEras*/,
34229  kZoneEraAmerica_Manaus /*eras*/,
34230  &kZoneAmerica_Manaus /*targetInfo*/,
34231 };
34232 
34233 //---------------------------------------------------------------------------
34234 // Link name: CET -> Europe/Brussels
34235 //---------------------------------------------------------------------------
34236 
34237 static const char kZoneNameCET[] ACE_TIME_PROGMEM = "CET";
34238 
34239 const complete::ZoneInfo kZoneCET ACE_TIME_PROGMEM = {
34240  kZoneNameCET /*name*/,
34241  0x0b87d921 /*zoneId*/,
34242  &kZoneContext /*zoneContext*/,
34243  9 /*numEras*/,
34244  kZoneEraEurope_Brussels /*eras*/,
34245  &kZoneEurope_Brussels /*targetInfo*/,
34246 };
34247 
34248 //---------------------------------------------------------------------------
34249 // Link name: CST6CDT -> America/Chicago
34250 //---------------------------------------------------------------------------
34251 
34252 static const char kZoneNameCST6CDT[] ACE_TIME_PROGMEM = "CST6CDT";
34253 
34254 const complete::ZoneInfo kZoneCST6CDT ACE_TIME_PROGMEM = {
34255  kZoneNameCST6CDT /*name*/,
34256  0xf0e87d00 /*zoneId*/,
34257  &kZoneContext /*zoneContext*/,
34258  8 /*numEras*/,
34259  kZoneEraAmerica_Chicago /*eras*/,
34260  &kZoneAmerica_Chicago /*targetInfo*/,
34261 };
34262 
34263 //---------------------------------------------------------------------------
34264 // Link name: Canada/Atlantic -> America/Halifax
34265 //---------------------------------------------------------------------------
34266 
34267 static const char kZoneNameCanada_Atlantic[] ACE_TIME_PROGMEM = "\x09" "Atlantic";
34268 
34269 const complete::ZoneInfo kZoneCanada_Atlantic ACE_TIME_PROGMEM = {
34270  kZoneNameCanada_Atlantic /*name*/,
34271  0x536b119c /*zoneId*/,
34272  &kZoneContext /*zoneContext*/,
34273  7 /*numEras*/,
34274  kZoneEraAmerica_Halifax /*eras*/,
34275  &kZoneAmerica_Halifax /*targetInfo*/,
34276 };
34277 
34278 //---------------------------------------------------------------------------
34279 // Link name: Canada/Central -> America/Winnipeg
34280 //---------------------------------------------------------------------------
34281 
34282 static const char kZoneNameCanada_Central[] ACE_TIME_PROGMEM = "\x09" "Central";
34283 
34284 const complete::ZoneInfo kZoneCanada_Central ACE_TIME_PROGMEM = {
34285  kZoneNameCanada_Central /*name*/,
34286  0x626710f5 /*zoneId*/,
34287  &kZoneContext /*zoneContext*/,
34288  3 /*numEras*/,
34289  kZoneEraAmerica_Winnipeg /*eras*/,
34290  &kZoneAmerica_Winnipeg /*targetInfo*/,
34291 };
34292 
34293 //---------------------------------------------------------------------------
34294 // Link name: Canada/Eastern -> America/Toronto
34295 //---------------------------------------------------------------------------
34296 
34297 static const char kZoneNameCanada_Eastern[] ACE_TIME_PROGMEM = "\x09" "Eastern";
34298 
34299 const complete::ZoneInfo kZoneCanada_Eastern ACE_TIME_PROGMEM = {
34300  kZoneNameCanada_Eastern /*name*/,
34301  0xf3612d5e /*zoneId*/,
34302  &kZoneContext /*zoneContext*/,
34303  6 /*numEras*/,
34304  kZoneEraAmerica_Toronto /*eras*/,
34305  &kZoneAmerica_Toronto /*targetInfo*/,
34306 };
34307 
34308 //---------------------------------------------------------------------------
34309 // Link name: Canada/Mountain -> America/Edmonton
34310 //---------------------------------------------------------------------------
34311 
34312 static const char kZoneNameCanada_Mountain[] ACE_TIME_PROGMEM = "\x09" "Mountain";
34313 
34314 const complete::ZoneInfo kZoneCanada_Mountain ACE_TIME_PROGMEM = {
34315  kZoneNameCanada_Mountain /*name*/,
34316  0xfb8a8217 /*zoneId*/,
34317  &kZoneContext /*zoneContext*/,
34318  3 /*numEras*/,
34319  kZoneEraAmerica_Edmonton /*eras*/,
34320  &kZoneAmerica_Edmonton /*targetInfo*/,
34321 };
34322 
34323 //---------------------------------------------------------------------------
34324 // Link name: Canada/Newfoundland -> America/St_Johns
34325 //---------------------------------------------------------------------------
34326 
34327 static const char kZoneNameCanada_Newfoundland[] ACE_TIME_PROGMEM = "\x09" "Newfoundland";
34328 
34329 const complete::ZoneInfo kZoneCanada_Newfoundland ACE_TIME_PROGMEM = {
34330  kZoneNameCanada_Newfoundland /*name*/,
34331  0xb396e991 /*zoneId*/,
34332  &kZoneContext /*zoneContext*/,
34333  8 /*numEras*/,
34334  kZoneEraAmerica_St_Johns /*eras*/,
34335  &kZoneAmerica_St_Johns /*targetInfo*/,
34336 };
34337 
34338 //---------------------------------------------------------------------------
34339 // Link name: Canada/Pacific -> America/Vancouver
34340 //---------------------------------------------------------------------------
34341 
34342 static const char kZoneNameCanada_Pacific[] ACE_TIME_PROGMEM = "\x09" "Pacific";
34343 
34344 const complete::ZoneInfo kZoneCanada_Pacific ACE_TIME_PROGMEM = {
34345  kZoneNameCanada_Pacific /*name*/,
34346  0x40fa3c7b /*zoneId*/,
34347  &kZoneContext /*zoneContext*/,
34348  3 /*numEras*/,
34349  kZoneEraAmerica_Vancouver /*eras*/,
34350  &kZoneAmerica_Vancouver /*targetInfo*/,
34351 };
34352 
34353 //---------------------------------------------------------------------------
34354 // Link name: Canada/Saskatchewan -> America/Regina
34355 //---------------------------------------------------------------------------
34356 
34357 static const char kZoneNameCanada_Saskatchewan[] ACE_TIME_PROGMEM = "\x09" "Saskatchewan";
34358 
34359 const complete::ZoneInfo kZoneCanada_Saskatchewan ACE_TIME_PROGMEM = {
34360  kZoneNameCanada_Saskatchewan /*name*/,
34361  0x77311f49 /*zoneId*/,
34362  &kZoneContext /*zoneContext*/,
34363  3 /*numEras*/,
34364  kZoneEraAmerica_Regina /*eras*/,
34365  &kZoneAmerica_Regina /*targetInfo*/,
34366 };
34367 
34368 //---------------------------------------------------------------------------
34369 // Link name: Canada/Yukon -> America/Whitehorse
34370 //---------------------------------------------------------------------------
34371 
34372 static const char kZoneNameCanada_Yukon[] ACE_TIME_PROGMEM = "\x09" "Yukon";
34373 
34374 const complete::ZoneInfo kZoneCanada_Yukon ACE_TIME_PROGMEM = {
34375  kZoneNameCanada_Yukon /*name*/,
34376  0x78dd35c2 /*zoneId*/,
34377  &kZoneContext /*zoneContext*/,
34378  6 /*numEras*/,
34379  kZoneEraAmerica_Whitehorse /*eras*/,
34380  &kZoneAmerica_Whitehorse /*targetInfo*/,
34381 };
34382 
34383 //---------------------------------------------------------------------------
34384 // Link name: Chile/Continental -> America/Santiago
34385 //---------------------------------------------------------------------------
34386 
34387 static const char kZoneNameChile_Continental[] ACE_TIME_PROGMEM = "Chile/Continental";
34388 
34389 const complete::ZoneInfo kZoneChile_Continental ACE_TIME_PROGMEM = {
34390  kZoneNameChile_Continental /*name*/,
34391  0x7e2bdb18 /*zoneId*/,
34392  &kZoneContext /*zoneContext*/,
34393  14 /*numEras*/,
34394  kZoneEraAmerica_Santiago /*eras*/,
34395  &kZoneAmerica_Santiago /*targetInfo*/,
34396 };
34397 
34398 //---------------------------------------------------------------------------
34399 // Link name: Chile/EasterIsland -> Pacific/Easter
34400 //---------------------------------------------------------------------------
34401 
34402 static const char kZoneNameChile_EasterIsland[] ACE_TIME_PROGMEM = "Chile/EasterIsland";
34403 
34404 const complete::ZoneInfo kZoneChile_EasterIsland ACE_TIME_PROGMEM = {
34405  kZoneNameChile_EasterIsland /*name*/,
34406  0xb0982af8 /*zoneId*/,
34407  &kZoneContext /*zoneContext*/,
34408  4 /*numEras*/,
34409  kZoneEraPacific_Easter /*eras*/,
34410  &kZonePacific_Easter /*targetInfo*/,
34411 };
34412 
34413 //---------------------------------------------------------------------------
34414 // Link name: Cuba -> America/Havana
34415 //---------------------------------------------------------------------------
34416 
34417 static const char kZoneNameCuba[] ACE_TIME_PROGMEM = "Cuba";
34418 
34419 const complete::ZoneInfo kZoneCuba ACE_TIME_PROGMEM = {
34420  kZoneNameCuba /*name*/,
34421  0x7c83cba0 /*zoneId*/,
34422  &kZoneContext /*zoneContext*/,
34423  3 /*numEras*/,
34424  kZoneEraAmerica_Havana /*eras*/,
34425  &kZoneAmerica_Havana /*targetInfo*/,
34426 };
34427 
34428 //---------------------------------------------------------------------------
34429 // Link name: EET -> Europe/Athens
34430 //---------------------------------------------------------------------------
34431 
34432 static const char kZoneNameEET[] ACE_TIME_PROGMEM = "EET";
34433 
34434 const complete::ZoneInfo kZoneEET ACE_TIME_PROGMEM = {
34435  kZoneNameEET /*name*/,
34436  0x0b87e1a3 /*zoneId*/,
34437  &kZoneContext /*zoneContext*/,
34438  6 /*numEras*/,
34439  kZoneEraEurope_Athens /*eras*/,
34440  &kZoneEurope_Athens /*targetInfo*/,
34441 };
34442 
34443 //---------------------------------------------------------------------------
34444 // Link name: EST -> America/Panama
34445 //---------------------------------------------------------------------------
34446 
34447 static const char kZoneNameEST[] ACE_TIME_PROGMEM = "EST";
34448 
34449 const complete::ZoneInfo kZoneEST ACE_TIME_PROGMEM = {
34450  kZoneNameEST /*name*/,
34451  0x0b87e371 /*zoneId*/,
34452  &kZoneContext /*zoneContext*/,
34453  3 /*numEras*/,
34454  kZoneEraAmerica_Panama /*eras*/,
34455  &kZoneAmerica_Panama /*targetInfo*/,
34456 };
34457 
34458 //---------------------------------------------------------------------------
34459 // Link name: EST5EDT -> America/New_York
34460 //---------------------------------------------------------------------------
34461 
34462 static const char kZoneNameEST5EDT[] ACE_TIME_PROGMEM = "EST5EDT";
34463 
34464 const complete::ZoneInfo kZoneEST5EDT ACE_TIME_PROGMEM = {
34465  kZoneNameEST5EDT /*name*/,
34466  0x8adc72a3 /*zoneId*/,
34467  &kZoneContext /*zoneContext*/,
34468  6 /*numEras*/,
34469  kZoneEraAmerica_New_York /*eras*/,
34470  &kZoneAmerica_New_York /*targetInfo*/,
34471 };
34472 
34473 //---------------------------------------------------------------------------
34474 // Link name: Egypt -> Africa/Cairo
34475 //---------------------------------------------------------------------------
34476 
34477 static const char kZoneNameEgypt[] ACE_TIME_PROGMEM = "Egypt";
34478 
34479 const complete::ZoneInfo kZoneEgypt ACE_TIME_PROGMEM = {
34480  kZoneNameEgypt /*name*/,
34481  0x0d1a278e /*zoneId*/,
34482  &kZoneContext /*zoneContext*/,
34483  2 /*numEras*/,
34484  kZoneEraAfrica_Cairo /*eras*/,
34485  &kZoneAfrica_Cairo /*targetInfo*/,
34486 };
34487 
34488 //---------------------------------------------------------------------------
34489 // Link name: Eire -> Europe/Dublin
34490 //---------------------------------------------------------------------------
34491 
34492 static const char kZoneNameEire[] ACE_TIME_PROGMEM = "Eire";
34493 
34494 const complete::ZoneInfo kZoneEire ACE_TIME_PROGMEM = {
34495  kZoneNameEire /*name*/,
34496  0x7c84b36a /*zoneId*/,
34497  &kZoneContext /*zoneContext*/,
34498  11 /*numEras*/,
34499  kZoneEraEurope_Dublin /*eras*/,
34500  &kZoneEurope_Dublin /*targetInfo*/,
34501 };
34502 
34503 //---------------------------------------------------------------------------
34504 // Link name: Etc/GMT+0 -> Etc/GMT
34505 //---------------------------------------------------------------------------
34506 
34507 static const char kZoneNameEtc_GMT_PLUS_0[] ACE_TIME_PROGMEM = "\x0a" "GMT+0";
34508 
34509 const complete::ZoneInfo kZoneEtc_GMT_PLUS_0 ACE_TIME_PROGMEM = {
34510  kZoneNameEtc_GMT_PLUS_0 /*name*/,
34511  0x9d13da13 /*zoneId*/,
34512  &kZoneContext /*zoneContext*/,
34513  1 /*numEras*/,
34514  kZoneEraEtc_GMT /*eras*/,
34515  &kZoneEtc_GMT /*targetInfo*/,
34516 };
34517 
34518 //---------------------------------------------------------------------------
34519 // Link name: Etc/GMT-0 -> Etc/GMT
34520 //---------------------------------------------------------------------------
34521 
34522 static const char kZoneNameEtc_GMT_0[] ACE_TIME_PROGMEM = "\x0a" "GMT-0";
34523 
34524 const complete::ZoneInfo kZoneEtc_GMT_0 ACE_TIME_PROGMEM = {
34525  kZoneNameEtc_GMT_0 /*name*/,
34526  0x9d13da55 /*zoneId*/,
34527  &kZoneContext /*zoneContext*/,
34528  1 /*numEras*/,
34529  kZoneEraEtc_GMT /*eras*/,
34530  &kZoneEtc_GMT /*targetInfo*/,
34531 };
34532 
34533 //---------------------------------------------------------------------------
34534 // Link name: Etc/GMT0 -> Etc/GMT
34535 //---------------------------------------------------------------------------
34536 
34537 static const char kZoneNameEtc_GMT0[] ACE_TIME_PROGMEM = "\x0a" "GMT0";
34538 
34539 const complete::ZoneInfo kZoneEtc_GMT0 ACE_TIME_PROGMEM = {
34540  kZoneNameEtc_GMT0 /*name*/,
34541  0xf53ea988 /*zoneId*/,
34542  &kZoneContext /*zoneContext*/,
34543  1 /*numEras*/,
34544  kZoneEraEtc_GMT /*eras*/,
34545  &kZoneEtc_GMT /*targetInfo*/,
34546 };
34547 
34548 //---------------------------------------------------------------------------
34549 // Link name: Etc/Greenwich -> Etc/GMT
34550 //---------------------------------------------------------------------------
34551 
34552 static const char kZoneNameEtc_Greenwich[] ACE_TIME_PROGMEM = "\x0a" "Greenwich";
34553 
34554 const complete::ZoneInfo kZoneEtc_Greenwich ACE_TIME_PROGMEM = {
34555  kZoneNameEtc_Greenwich /*name*/,
34556  0x26daa98c /*zoneId*/,
34557  &kZoneContext /*zoneContext*/,
34558  1 /*numEras*/,
34559  kZoneEraEtc_GMT /*eras*/,
34560  &kZoneEtc_GMT /*targetInfo*/,
34561 };
34562 
34563 //---------------------------------------------------------------------------
34564 // Link name: Etc/UCT -> Etc/UTC
34565 //---------------------------------------------------------------------------
34566 
34567 static const char kZoneNameEtc_UCT[] ACE_TIME_PROGMEM = "\x0a" "UCT";
34568 
34569 const complete::ZoneInfo kZoneEtc_UCT ACE_TIME_PROGMEM = {
34570  kZoneNameEtc_UCT /*name*/,
34571  0xd8e3189c /*zoneId*/,
34572  &kZoneContext /*zoneContext*/,
34573  1 /*numEras*/,
34574  kZoneEraEtc_UTC /*eras*/,
34575  &kZoneEtc_UTC /*targetInfo*/,
34576 };
34577 
34578 //---------------------------------------------------------------------------
34579 // Link name: Etc/Universal -> Etc/UTC
34580 //---------------------------------------------------------------------------
34581 
34582 static const char kZoneNameEtc_Universal[] ACE_TIME_PROGMEM = "\x0a" "Universal";
34583 
34584 const complete::ZoneInfo kZoneEtc_Universal ACE_TIME_PROGMEM = {
34585  kZoneNameEtc_Universal /*name*/,
34586  0x2f8cb9a9 /*zoneId*/,
34587  &kZoneContext /*zoneContext*/,
34588  1 /*numEras*/,
34589  kZoneEraEtc_UTC /*eras*/,
34590  &kZoneEtc_UTC /*targetInfo*/,
34591 };
34592 
34593 //---------------------------------------------------------------------------
34594 // Link name: Etc/Zulu -> Etc/UTC
34595 //---------------------------------------------------------------------------
34596 
34597 static const char kZoneNameEtc_Zulu[] ACE_TIME_PROGMEM = "\x0a" "Zulu";
34598 
34599 const complete::ZoneInfo kZoneEtc_Zulu ACE_TIME_PROGMEM = {
34600  kZoneNameEtc_Zulu /*name*/,
34601  0xf549c240 /*zoneId*/,
34602  &kZoneContext /*zoneContext*/,
34603  1 /*numEras*/,
34604  kZoneEraEtc_UTC /*eras*/,
34605  &kZoneEtc_UTC /*targetInfo*/,
34606 };
34607 
34608 //---------------------------------------------------------------------------
34609 // Link name: Europe/Amsterdam -> Europe/Brussels
34610 //---------------------------------------------------------------------------
34611 
34612 static const char kZoneNameEurope_Amsterdam[] ACE_TIME_PROGMEM = "\x0b" "Amsterdam";
34613 
34614 const complete::ZoneInfo kZoneEurope_Amsterdam ACE_TIME_PROGMEM = {
34615  kZoneNameEurope_Amsterdam /*name*/,
34616  0x109395c2 /*zoneId*/,
34617  &kZoneContext /*zoneContext*/,
34618  9 /*numEras*/,
34619  kZoneEraEurope_Brussels /*eras*/,
34620  &kZoneEurope_Brussels /*targetInfo*/,
34621 };
34622 
34623 //---------------------------------------------------------------------------
34624 // Link name: Europe/Belfast -> Europe/London
34625 //---------------------------------------------------------------------------
34626 
34627 static const char kZoneNameEurope_Belfast[] ACE_TIME_PROGMEM = "\x0b" "Belfast";
34628 
34629 const complete::ZoneInfo kZoneEurope_Belfast ACE_TIME_PROGMEM = {
34630  kZoneNameEurope_Belfast /*name*/,
34631  0xd07dd1e5 /*zoneId*/,
34632  &kZoneContext /*zoneContext*/,
34633  5 /*numEras*/,
34634  kZoneEraEurope_London /*eras*/,
34635  &kZoneEurope_London /*targetInfo*/,
34636 };
34637 
34638 //---------------------------------------------------------------------------
34639 // Link name: Europe/Bratislava -> Europe/Prague
34640 //---------------------------------------------------------------------------
34641 
34642 static const char kZoneNameEurope_Bratislava[] ACE_TIME_PROGMEM = "\x0b" "Bratislava";
34643 
34644 const complete::ZoneInfo kZoneEurope_Bratislava ACE_TIME_PROGMEM = {
34645  kZoneNameEurope_Bratislava /*name*/,
34646  0xda493bed /*zoneId*/,
34647  &kZoneContext /*zoneContext*/,
34648  7 /*numEras*/,
34649  kZoneEraEurope_Prague /*eras*/,
34650  &kZoneEurope_Prague /*targetInfo*/,
34651 };
34652 
34653 //---------------------------------------------------------------------------
34654 // Link name: Europe/Busingen -> Europe/Zurich
34655 //---------------------------------------------------------------------------
34656 
34657 static const char kZoneNameEurope_Busingen[] ACE_TIME_PROGMEM = "\x0b" "Busingen";
34658 
34659 const complete::ZoneInfo kZoneEurope_Busingen ACE_TIME_PROGMEM = {
34660  kZoneNameEurope_Busingen /*name*/,
34661  0xc06d2cdf /*zoneId*/,
34662  &kZoneContext /*zoneContext*/,
34663  4 /*numEras*/,
34664  kZoneEraEurope_Zurich /*eras*/,
34665  &kZoneEurope_Zurich /*targetInfo*/,
34666 };
34667 
34668 //---------------------------------------------------------------------------
34669 // Link name: Europe/Copenhagen -> Europe/Berlin
34670 //---------------------------------------------------------------------------
34671 
34672 static const char kZoneNameEurope_Copenhagen[] ACE_TIME_PROGMEM = "\x0b" "Copenhagen";
34673 
34674 const complete::ZoneInfo kZoneEurope_Copenhagen ACE_TIME_PROGMEM = {
34675  kZoneNameEurope_Copenhagen /*name*/,
34676  0xe0ed30bc /*zoneId*/,
34677  &kZoneContext /*zoneContext*/,
34678  5 /*numEras*/,
34679  kZoneEraEurope_Berlin /*eras*/,
34680  &kZoneEurope_Berlin /*targetInfo*/,
34681 };
34682 
34683 //---------------------------------------------------------------------------
34684 // Link name: Europe/Guernsey -> Europe/London
34685 //---------------------------------------------------------------------------
34686 
34687 static const char kZoneNameEurope_Guernsey[] ACE_TIME_PROGMEM = "\x0b" "Guernsey";
34688 
34689 const complete::ZoneInfo kZoneEurope_Guernsey ACE_TIME_PROGMEM = {
34690  kZoneNameEurope_Guernsey /*name*/,
34691  0x3db12c16 /*zoneId*/,
34692  &kZoneContext /*zoneContext*/,
34693  5 /*numEras*/,
34694  kZoneEraEurope_London /*eras*/,
34695  &kZoneEurope_London /*targetInfo*/,
34696 };
34697 
34698 //---------------------------------------------------------------------------
34699 // Link name: Europe/Isle_of_Man -> Europe/London
34700 //---------------------------------------------------------------------------
34701 
34702 static const char kZoneNameEurope_Isle_of_Man[] ACE_TIME_PROGMEM = "\x0b" "Isle_of_Man";
34703 
34704 const complete::ZoneInfo kZoneEurope_Isle_of_Man ACE_TIME_PROGMEM = {
34705  kZoneNameEurope_Isle_of_Man /*name*/,
34706  0xeaf84580 /*zoneId*/,
34707  &kZoneContext /*zoneContext*/,
34708  5 /*numEras*/,
34709  kZoneEraEurope_London /*eras*/,
34710  &kZoneEurope_London /*targetInfo*/,
34711 };
34712 
34713 //---------------------------------------------------------------------------
34714 // Link name: Europe/Jersey -> Europe/London
34715 //---------------------------------------------------------------------------
34716 
34717 static const char kZoneNameEurope_Jersey[] ACE_TIME_PROGMEM = "\x0b" "Jersey";
34718 
34719 const complete::ZoneInfo kZoneEurope_Jersey ACE_TIME_PROGMEM = {
34720  kZoneNameEurope_Jersey /*name*/,
34721  0x570dae76 /*zoneId*/,
34722  &kZoneContext /*zoneContext*/,
34723  5 /*numEras*/,
34724  kZoneEraEurope_London /*eras*/,
34725  &kZoneEurope_London /*targetInfo*/,
34726 };
34727 
34728 //---------------------------------------------------------------------------
34729 // Link name: Europe/Kiev -> Europe/Kyiv
34730 //---------------------------------------------------------------------------
34731 
34732 static const char kZoneNameEurope_Kiev[] ACE_TIME_PROGMEM = "\x0b" "Kiev";
34733 
34734 const complete::ZoneInfo kZoneEurope_Kiev ACE_TIME_PROGMEM = {
34735  kZoneNameEurope_Kiev /*name*/,
34736  0xa2c19eb3 /*zoneId*/,
34737  &kZoneContext /*zoneContext*/,
34738  9 /*numEras*/,
34739  kZoneEraEurope_Kyiv /*eras*/,
34740  &kZoneEurope_Kyiv /*targetInfo*/,
34741 };
34742 
34743 //---------------------------------------------------------------------------
34744 // Link name: Europe/Ljubljana -> Europe/Belgrade
34745 //---------------------------------------------------------------------------
34746 
34747 static const char kZoneNameEurope_Ljubljana[] ACE_TIME_PROGMEM = "\x0b" "Ljubljana";
34748 
34749 const complete::ZoneInfo kZoneEurope_Ljubljana ACE_TIME_PROGMEM = {
34750  kZoneNameEurope_Ljubljana /*name*/,
34751  0xbd98cdb7 /*zoneId*/,
34752  &kZoneContext /*zoneContext*/,
34753  7 /*numEras*/,
34754  kZoneEraEurope_Belgrade /*eras*/,
34755  &kZoneEurope_Belgrade /*targetInfo*/,
34756 };
34757 
34758 //---------------------------------------------------------------------------
34759 // Link name: Europe/Luxembourg -> Europe/Brussels
34760 //---------------------------------------------------------------------------
34761 
34762 static const char kZoneNameEurope_Luxembourg[] ACE_TIME_PROGMEM = "\x0b" "Luxembourg";
34763 
34764 const complete::ZoneInfo kZoneEurope_Luxembourg ACE_TIME_PROGMEM = {
34765  kZoneNameEurope_Luxembourg /*name*/,
34766  0x1f8bc6ce /*zoneId*/,
34767  &kZoneContext /*zoneContext*/,
34768  9 /*numEras*/,
34769  kZoneEraEurope_Brussels /*eras*/,
34770  &kZoneEurope_Brussels /*targetInfo*/,
34771 };
34772 
34773 //---------------------------------------------------------------------------
34774 // Link name: Europe/Mariehamn -> Europe/Helsinki
34775 //---------------------------------------------------------------------------
34776 
34777 static const char kZoneNameEurope_Mariehamn[] ACE_TIME_PROGMEM = "\x0b" "Mariehamn";
34778 
34779 const complete::ZoneInfo kZoneEurope_Mariehamn ACE_TIME_PROGMEM = {
34780  kZoneNameEurope_Mariehamn /*name*/,
34781  0x0caa6496 /*zoneId*/,
34782  &kZoneContext /*zoneContext*/,
34783  4 /*numEras*/,
34784  kZoneEraEurope_Helsinki /*eras*/,
34785  &kZoneEurope_Helsinki /*targetInfo*/,
34786 };
34787 
34788 //---------------------------------------------------------------------------
34789 // Link name: Europe/Monaco -> Europe/Paris
34790 //---------------------------------------------------------------------------
34791 
34792 static const char kZoneNameEurope_Monaco[] ACE_TIME_PROGMEM = "\x0b" "Monaco";
34793 
34794 const complete::ZoneInfo kZoneEurope_Monaco ACE_TIME_PROGMEM = {
34795  kZoneNameEurope_Monaco /*name*/,
34796  0x5ebf9f01 /*zoneId*/,
34797  &kZoneContext /*zoneContext*/,
34798  7 /*numEras*/,
34799  kZoneEraEurope_Paris /*eras*/,
34800  &kZoneEurope_Paris /*targetInfo*/,
34801 };
34802 
34803 //---------------------------------------------------------------------------
34804 // Link name: Europe/Nicosia -> Asia/Nicosia
34805 //---------------------------------------------------------------------------
34806 
34807 static const char kZoneNameEurope_Nicosia[] ACE_TIME_PROGMEM = "\x0b" "Nicosia";
34808 
34809 const complete::ZoneInfo kZoneEurope_Nicosia ACE_TIME_PROGMEM = {
34810  kZoneNameEurope_Nicosia /*name*/,
34811  0x74efab8a /*zoneId*/,
34812  &kZoneContext /*zoneContext*/,
34813  3 /*numEras*/,
34814  kZoneEraAsia_Nicosia /*eras*/,
34815  &kZoneAsia_Nicosia /*targetInfo*/,
34816 };
34817 
34818 //---------------------------------------------------------------------------
34819 // Link name: Europe/Oslo -> Europe/Berlin
34820 //---------------------------------------------------------------------------
34821 
34822 static const char kZoneNameEurope_Oslo[] ACE_TIME_PROGMEM = "\x0b" "Oslo";
34823 
34824 const complete::ZoneInfo kZoneEurope_Oslo ACE_TIME_PROGMEM = {
34825  kZoneNameEurope_Oslo /*name*/,
34826  0xa2c3fba1 /*zoneId*/,
34827  &kZoneContext /*zoneContext*/,
34828  5 /*numEras*/,
34829  kZoneEraEurope_Berlin /*eras*/,
34830  &kZoneEurope_Berlin /*targetInfo*/,
34831 };
34832 
34833 //---------------------------------------------------------------------------
34834 // Link name: Europe/Podgorica -> Europe/Belgrade
34835 //---------------------------------------------------------------------------
34836 
34837 static const char kZoneNameEurope_Podgorica[] ACE_TIME_PROGMEM = "\x0b" "Podgorica";
34838 
34839 const complete::ZoneInfo kZoneEurope_Podgorica ACE_TIME_PROGMEM = {
34840  kZoneNameEurope_Podgorica /*name*/,
34841  0x1c1a499c /*zoneId*/,
34842  &kZoneContext /*zoneContext*/,
34843  7 /*numEras*/,
34844  kZoneEraEurope_Belgrade /*eras*/,
34845  &kZoneEurope_Belgrade /*targetInfo*/,
34846 };
34847 
34848 //---------------------------------------------------------------------------
34849 // Link name: Europe/San_Marino -> Europe/Rome
34850 //---------------------------------------------------------------------------
34851 
34852 static const char kZoneNameEurope_San_Marino[] ACE_TIME_PROGMEM = "\x0b" "San_Marino";
34853 
34854 const complete::ZoneInfo kZoneEurope_San_Marino ACE_TIME_PROGMEM = {
34855  kZoneNameEurope_San_Marino /*name*/,
34856  0xcef7724b /*zoneId*/,
34857  &kZoneContext /*zoneContext*/,
34858  6 /*numEras*/,
34859  kZoneEraEurope_Rome /*eras*/,
34860  &kZoneEurope_Rome /*targetInfo*/,
34861 };
34862 
34863 //---------------------------------------------------------------------------
34864 // Link name: Europe/Sarajevo -> Europe/Belgrade
34865 //---------------------------------------------------------------------------
34866 
34867 static const char kZoneNameEurope_Sarajevo[] ACE_TIME_PROGMEM = "\x0b" "Sarajevo";
34868 
34869 const complete::ZoneInfo kZoneEurope_Sarajevo ACE_TIME_PROGMEM = {
34870  kZoneNameEurope_Sarajevo /*name*/,
34871  0x6a576c3f /*zoneId*/,
34872  &kZoneContext /*zoneContext*/,
34873  7 /*numEras*/,
34874  kZoneEraEurope_Belgrade /*eras*/,
34875  &kZoneEurope_Belgrade /*targetInfo*/,
34876 };
34877 
34878 //---------------------------------------------------------------------------
34879 // Link name: Europe/Skopje -> Europe/Belgrade
34880 //---------------------------------------------------------------------------
34881 
34882 static const char kZoneNameEurope_Skopje[] ACE_TIME_PROGMEM = "\x0b" "Skopje";
34883 
34884 const complete::ZoneInfo kZoneEurope_Skopje ACE_TIME_PROGMEM = {
34885  kZoneNameEurope_Skopje /*name*/,
34886  0x6c76fdd0 /*zoneId*/,
34887  &kZoneContext /*zoneContext*/,
34888  7 /*numEras*/,
34889  kZoneEraEurope_Belgrade /*eras*/,
34890  &kZoneEurope_Belgrade /*targetInfo*/,
34891 };
34892 
34893 //---------------------------------------------------------------------------
34894 // Link name: Europe/Stockholm -> Europe/Berlin
34895 //---------------------------------------------------------------------------
34896 
34897 static const char kZoneNameEurope_Stockholm[] ACE_TIME_PROGMEM = "\x0b" "Stockholm";
34898 
34899 const complete::ZoneInfo kZoneEurope_Stockholm ACE_TIME_PROGMEM = {
34900  kZoneNameEurope_Stockholm /*name*/,
34901  0x5bf6fbb8 /*zoneId*/,
34902  &kZoneContext /*zoneContext*/,
34903  5 /*numEras*/,
34904  kZoneEraEurope_Berlin /*eras*/,
34905  &kZoneEurope_Berlin /*targetInfo*/,
34906 };
34907 
34908 //---------------------------------------------------------------------------
34909 // Link name: Europe/Tiraspol -> Europe/Chisinau
34910 //---------------------------------------------------------------------------
34911 
34912 static const char kZoneNameEurope_Tiraspol[] ACE_TIME_PROGMEM = "\x0b" "Tiraspol";
34913 
34914 const complete::ZoneInfo kZoneEurope_Tiraspol ACE_TIME_PROGMEM = {
34915  kZoneNameEurope_Tiraspol /*name*/,
34916  0xbe704472 /*zoneId*/,
34917  &kZoneContext /*zoneContext*/,
34918  10 /*numEras*/,
34919  kZoneEraEurope_Chisinau /*eras*/,
34920  &kZoneEurope_Chisinau /*targetInfo*/,
34921 };
34922 
34923 //---------------------------------------------------------------------------
34924 // Link name: Europe/Uzhgorod -> Europe/Kyiv
34925 //---------------------------------------------------------------------------
34926 
34927 static const char kZoneNameEurope_Uzhgorod[] ACE_TIME_PROGMEM = "\x0b" "Uzhgorod";
34928 
34929 const complete::ZoneInfo kZoneEurope_Uzhgorod ACE_TIME_PROGMEM = {
34930  kZoneNameEurope_Uzhgorod /*name*/,
34931  0xb066f5d6 /*zoneId*/,
34932  &kZoneContext /*zoneContext*/,
34933  9 /*numEras*/,
34934  kZoneEraEurope_Kyiv /*eras*/,
34935  &kZoneEurope_Kyiv /*targetInfo*/,
34936 };
34937 
34938 //---------------------------------------------------------------------------
34939 // Link name: Europe/Vaduz -> Europe/Zurich
34940 //---------------------------------------------------------------------------
34941 
34942 static const char kZoneNameEurope_Vaduz[] ACE_TIME_PROGMEM = "\x0b" "Vaduz";
34943 
34944 const complete::ZoneInfo kZoneEurope_Vaduz ACE_TIME_PROGMEM = {
34945  kZoneNameEurope_Vaduz /*name*/,
34946  0xfbb81bae /*zoneId*/,
34947  &kZoneContext /*zoneContext*/,
34948  4 /*numEras*/,
34949  kZoneEraEurope_Zurich /*eras*/,
34950  &kZoneEurope_Zurich /*targetInfo*/,
34951 };
34952 
34953 //---------------------------------------------------------------------------
34954 // Link name: Europe/Vatican -> Europe/Rome
34955 //---------------------------------------------------------------------------
34956 
34957 static const char kZoneNameEurope_Vatican[] ACE_TIME_PROGMEM = "\x0b" "Vatican";
34958 
34959 const complete::ZoneInfo kZoneEurope_Vatican ACE_TIME_PROGMEM = {
34960  kZoneNameEurope_Vatican /*name*/,
34961  0xcb485dca /*zoneId*/,
34962  &kZoneContext /*zoneContext*/,
34963  6 /*numEras*/,
34964  kZoneEraEurope_Rome /*eras*/,
34965  &kZoneEurope_Rome /*targetInfo*/,
34966 };
34967 
34968 //---------------------------------------------------------------------------
34969 // Link name: Europe/Zagreb -> Europe/Belgrade
34970 //---------------------------------------------------------------------------
34971 
34972 static const char kZoneNameEurope_Zagreb[] ACE_TIME_PROGMEM = "\x0b" "Zagreb";
34973 
34974 const complete::ZoneInfo kZoneEurope_Zagreb ACE_TIME_PROGMEM = {
34975  kZoneNameEurope_Zagreb /*name*/,
34976  0x7c11c9ff /*zoneId*/,
34977  &kZoneContext /*zoneContext*/,
34978  7 /*numEras*/,
34979  kZoneEraEurope_Belgrade /*eras*/,
34980  &kZoneEurope_Belgrade /*targetInfo*/,
34981 };
34982 
34983 //---------------------------------------------------------------------------
34984 // Link name: Europe/Zaporozhye -> Europe/Kyiv
34985 //---------------------------------------------------------------------------
34986 
34987 static const char kZoneNameEurope_Zaporozhye[] ACE_TIME_PROGMEM = "\x0b" "Zaporozhye";
34988 
34989 const complete::ZoneInfo kZoneEurope_Zaporozhye ACE_TIME_PROGMEM = {
34990  kZoneNameEurope_Zaporozhye /*name*/,
34991  0xeab9767f /*zoneId*/,
34992  &kZoneContext /*zoneContext*/,
34993  9 /*numEras*/,
34994  kZoneEraEurope_Kyiv /*eras*/,
34995  &kZoneEurope_Kyiv /*targetInfo*/,
34996 };
34997 
34998 //---------------------------------------------------------------------------
34999 // Link name: GB -> Europe/London
35000 //---------------------------------------------------------------------------
35001 
35002 static const char kZoneNameGB[] ACE_TIME_PROGMEM = "GB";
35003 
35004 const complete::ZoneInfo kZoneGB ACE_TIME_PROGMEM = {
35005  kZoneNameGB /*name*/,
35006  0x005973ae /*zoneId*/,
35007  &kZoneContext /*zoneContext*/,
35008  5 /*numEras*/,
35009  kZoneEraEurope_London /*eras*/,
35010  &kZoneEurope_London /*targetInfo*/,
35011 };
35012 
35013 //---------------------------------------------------------------------------
35014 // Link name: GB-Eire -> Europe/London
35015 //---------------------------------------------------------------------------
35016 
35017 static const char kZoneNameGB_Eire[] ACE_TIME_PROGMEM = "GB-Eire";
35018 
35019 const complete::ZoneInfo kZoneGB_Eire ACE_TIME_PROGMEM = {
35020  kZoneNameGB_Eire /*name*/,
35021  0xfa70e300 /*zoneId*/,
35022  &kZoneContext /*zoneContext*/,
35023  5 /*numEras*/,
35024  kZoneEraEurope_London /*eras*/,
35025  &kZoneEurope_London /*targetInfo*/,
35026 };
35027 
35028 //---------------------------------------------------------------------------
35029 // Link name: GMT -> Etc/GMT
35030 //---------------------------------------------------------------------------
35031 
35032 static const char kZoneNameGMT[] ACE_TIME_PROGMEM = "GMT";
35033 
35034 const complete::ZoneInfo kZoneGMT ACE_TIME_PROGMEM = {
35035  kZoneNameGMT /*name*/,
35036  0x0b87eb2d /*zoneId*/,
35037  &kZoneContext /*zoneContext*/,
35038  1 /*numEras*/,
35039  kZoneEraEtc_GMT /*eras*/,
35040  &kZoneEtc_GMT /*targetInfo*/,
35041 };
35042 
35043 //---------------------------------------------------------------------------
35044 // Link name: GMT+0 -> Etc/GMT
35045 //---------------------------------------------------------------------------
35046 
35047 static const char kZoneNameGMT_PLUS_0[] ACE_TIME_PROGMEM = "GMT+0";
35048 
35049 const complete::ZoneInfo kZoneGMT_PLUS_0 ACE_TIME_PROGMEM = {
35050  kZoneNameGMT_PLUS_0 /*name*/,
35051  0x0d2f7028 /*zoneId*/,
35052  &kZoneContext /*zoneContext*/,
35053  1 /*numEras*/,
35054  kZoneEraEtc_GMT /*eras*/,
35055  &kZoneEtc_GMT /*targetInfo*/,
35056 };
35057 
35058 //---------------------------------------------------------------------------
35059 // Link name: GMT-0 -> Etc/GMT
35060 //---------------------------------------------------------------------------
35061 
35062 static const char kZoneNameGMT_0[] ACE_TIME_PROGMEM = "GMT-0";
35063 
35064 const complete::ZoneInfo kZoneGMT_0 ACE_TIME_PROGMEM = {
35065  kZoneNameGMT_0 /*name*/,
35066  0x0d2f706a /*zoneId*/,
35067  &kZoneContext /*zoneContext*/,
35068  1 /*numEras*/,
35069  kZoneEraEtc_GMT /*eras*/,
35070  &kZoneEtc_GMT /*targetInfo*/,
35071 };
35072 
35073 //---------------------------------------------------------------------------
35074 // Link name: GMT0 -> Etc/GMT
35075 //---------------------------------------------------------------------------
35076 
35077 static const char kZoneNameGMT0[] ACE_TIME_PROGMEM = "GMT0";
35078 
35079 const complete::ZoneInfo kZoneGMT0 ACE_TIME_PROGMEM = {
35080  kZoneNameGMT0 /*name*/,
35081  0x7c8550fd /*zoneId*/,
35082  &kZoneContext /*zoneContext*/,
35083  1 /*numEras*/,
35084  kZoneEraEtc_GMT /*eras*/,
35085  &kZoneEtc_GMT /*targetInfo*/,
35086 };
35087 
35088 //---------------------------------------------------------------------------
35089 // Link name: Greenwich -> Etc/GMT
35090 //---------------------------------------------------------------------------
35091 
35092 static const char kZoneNameGreenwich[] ACE_TIME_PROGMEM = "Greenwich";
35093 
35094 const complete::ZoneInfo kZoneGreenwich ACE_TIME_PROGMEM = {
35095  kZoneNameGreenwich /*name*/,
35096  0xc84d4221 /*zoneId*/,
35097  &kZoneContext /*zoneContext*/,
35098  1 /*numEras*/,
35099  kZoneEraEtc_GMT /*eras*/,
35100  &kZoneEtc_GMT /*targetInfo*/,
35101 };
35102 
35103 //---------------------------------------------------------------------------
35104 // Link name: HST -> Pacific/Honolulu
35105 //---------------------------------------------------------------------------
35106 
35107 static const char kZoneNameHST[] ACE_TIME_PROGMEM = "HST";
35108 
35109 const complete::ZoneInfo kZoneHST ACE_TIME_PROGMEM = {
35110  kZoneNameHST /*name*/,
35111  0x0b87f034 /*zoneId*/,
35112  &kZoneContext /*zoneContext*/,
35113  5 /*numEras*/,
35114  kZoneEraPacific_Honolulu /*eras*/,
35115  &kZonePacific_Honolulu /*targetInfo*/,
35116 };
35117 
35118 //---------------------------------------------------------------------------
35119 // Link name: Hongkong -> Asia/Hong_Kong
35120 //---------------------------------------------------------------------------
35121 
35122 static const char kZoneNameHongkong[] ACE_TIME_PROGMEM = "Hongkong";
35123 
35124 const complete::ZoneInfo kZoneHongkong ACE_TIME_PROGMEM = {
35125  kZoneNameHongkong /*name*/,
35126  0x56d36560 /*zoneId*/,
35127  &kZoneContext /*zoneContext*/,
35128  6 /*numEras*/,
35129  kZoneEraAsia_Hong_Kong /*eras*/,
35130  &kZoneAsia_Hong_Kong /*targetInfo*/,
35131 };
35132 
35133 //---------------------------------------------------------------------------
35134 // Link name: Iceland -> Africa/Abidjan
35135 //---------------------------------------------------------------------------
35136 
35137 static const char kZoneNameIceland[] ACE_TIME_PROGMEM = "Iceland";
35138 
35139 const complete::ZoneInfo kZoneIceland ACE_TIME_PROGMEM = {
35140  kZoneNameIceland /*name*/,
35141  0xe56a35b5 /*zoneId*/,
35142  &kZoneContext /*zoneContext*/,
35143  2 /*numEras*/,
35144  kZoneEraAfrica_Abidjan /*eras*/,
35145  &kZoneAfrica_Abidjan /*targetInfo*/,
35146 };
35147 
35148 //---------------------------------------------------------------------------
35149 // Link name: Indian/Antananarivo -> Africa/Nairobi
35150 //---------------------------------------------------------------------------
35151 
35152 static const char kZoneNameIndian_Antananarivo[] ACE_TIME_PROGMEM = "\x0c" "Antananarivo";
35153 
35154 const complete::ZoneInfo kZoneIndian_Antananarivo ACE_TIME_PROGMEM = {
35155  kZoneNameIndian_Antananarivo /*name*/,
35156  0x9ebf5289 /*zoneId*/,
35157  &kZoneContext /*zoneContext*/,
35158  6 /*numEras*/,
35159  kZoneEraAfrica_Nairobi /*eras*/,
35160  &kZoneAfrica_Nairobi /*targetInfo*/,
35161 };
35162 
35163 //---------------------------------------------------------------------------
35164 // Link name: Indian/Christmas -> Asia/Bangkok
35165 //---------------------------------------------------------------------------
35166 
35167 static const char kZoneNameIndian_Christmas[] ACE_TIME_PROGMEM = "\x0c" "Christmas";
35168 
35169 const complete::ZoneInfo kZoneIndian_Christmas ACE_TIME_PROGMEM = {
35170  kZoneNameIndian_Christmas /*name*/,
35171  0x68c207d5 /*zoneId*/,
35172  &kZoneContext /*zoneContext*/,
35173  3 /*numEras*/,
35174  kZoneEraAsia_Bangkok /*eras*/,
35175  &kZoneAsia_Bangkok /*targetInfo*/,
35176 };
35177 
35178 //---------------------------------------------------------------------------
35179 // Link name: Indian/Cocos -> Asia/Yangon
35180 //---------------------------------------------------------------------------
35181 
35182 static const char kZoneNameIndian_Cocos[] ACE_TIME_PROGMEM = "\x0c" "Cocos";
35183 
35184 const complete::ZoneInfo kZoneIndian_Cocos ACE_TIME_PROGMEM = {
35185  kZoneNameIndian_Cocos /*name*/,
35186  0x021e86de /*zoneId*/,
35187  &kZoneContext /*zoneContext*/,
35188  5 /*numEras*/,
35189  kZoneEraAsia_Yangon /*eras*/,
35190  &kZoneAsia_Yangon /*targetInfo*/,
35191 };
35192 
35193 //---------------------------------------------------------------------------
35194 // Link name: Indian/Comoro -> Africa/Nairobi
35195 //---------------------------------------------------------------------------
35196 
35197 static const char kZoneNameIndian_Comoro[] ACE_TIME_PROGMEM = "\x0c" "Comoro";
35198 
35199 const complete::ZoneInfo kZoneIndian_Comoro ACE_TIME_PROGMEM = {
35200  kZoneNameIndian_Comoro /*name*/,
35201  0x45f4deb6 /*zoneId*/,
35202  &kZoneContext /*zoneContext*/,
35203  6 /*numEras*/,
35204  kZoneEraAfrica_Nairobi /*eras*/,
35205  &kZoneAfrica_Nairobi /*targetInfo*/,
35206 };
35207 
35208 //---------------------------------------------------------------------------
35209 // Link name: Indian/Kerguelen -> Indian/Maldives
35210 //---------------------------------------------------------------------------
35211 
35212 static const char kZoneNameIndian_Kerguelen[] ACE_TIME_PROGMEM = "\x0c" "Kerguelen";
35213 
35214 const complete::ZoneInfo kZoneIndian_Kerguelen ACE_TIME_PROGMEM = {
35215  kZoneNameIndian_Kerguelen /*name*/,
35216  0x4351b389 /*zoneId*/,
35217  &kZoneContext /*zoneContext*/,
35218  3 /*numEras*/,
35219  kZoneEraIndian_Maldives /*eras*/,
35220  &kZoneIndian_Maldives /*targetInfo*/,
35221 };
35222 
35223 //---------------------------------------------------------------------------
35224 // Link name: Indian/Mahe -> Asia/Dubai
35225 //---------------------------------------------------------------------------
35226 
35227 static const char kZoneNameIndian_Mahe[] ACE_TIME_PROGMEM = "\x0c" "Mahe";
35228 
35229 const complete::ZoneInfo kZoneIndian_Mahe ACE_TIME_PROGMEM = {
35230  kZoneNameIndian_Mahe /*name*/,
35231  0x45e725e2 /*zoneId*/,
35232  &kZoneContext /*zoneContext*/,
35233  2 /*numEras*/,
35234  kZoneEraAsia_Dubai /*eras*/,
35235  &kZoneAsia_Dubai /*targetInfo*/,
35236 };
35237 
35238 //---------------------------------------------------------------------------
35239 // Link name: Indian/Mayotte -> Africa/Nairobi
35240 //---------------------------------------------------------------------------
35241 
35242 static const char kZoneNameIndian_Mayotte[] ACE_TIME_PROGMEM = "\x0c" "Mayotte";
35243 
35244 const complete::ZoneInfo kZoneIndian_Mayotte ACE_TIME_PROGMEM = {
35245  kZoneNameIndian_Mayotte /*name*/,
35246  0xe6880bca /*zoneId*/,
35247  &kZoneContext /*zoneContext*/,
35248  6 /*numEras*/,
35249  kZoneEraAfrica_Nairobi /*eras*/,
35250  &kZoneAfrica_Nairobi /*targetInfo*/,
35251 };
35252 
35253 //---------------------------------------------------------------------------
35254 // Link name: Indian/Reunion -> Asia/Dubai
35255 //---------------------------------------------------------------------------
35256 
35257 static const char kZoneNameIndian_Reunion[] ACE_TIME_PROGMEM = "\x0c" "Reunion";
35258 
35259 const complete::ZoneInfo kZoneIndian_Reunion ACE_TIME_PROGMEM = {
35260  kZoneNameIndian_Reunion /*name*/,
35261  0x7076c047 /*zoneId*/,
35262  &kZoneContext /*zoneContext*/,
35263  2 /*numEras*/,
35264  kZoneEraAsia_Dubai /*eras*/,
35265  &kZoneAsia_Dubai /*targetInfo*/,
35266 };
35267 
35268 //---------------------------------------------------------------------------
35269 // Link name: Iran -> Asia/Tehran
35270 //---------------------------------------------------------------------------
35271 
35272 static const char kZoneNameIran[] ACE_TIME_PROGMEM = "Iran";
35273 
35274 const complete::ZoneInfo kZoneIran ACE_TIME_PROGMEM = {
35275  kZoneNameIran /*name*/,
35276  0x7c87090f /*zoneId*/,
35277  &kZoneContext /*zoneContext*/,
35278  5 /*numEras*/,
35279  kZoneEraAsia_Tehran /*eras*/,
35280  &kZoneAsia_Tehran /*targetInfo*/,
35281 };
35282 
35283 //---------------------------------------------------------------------------
35284 // Link name: Israel -> Asia/Jerusalem
35285 //---------------------------------------------------------------------------
35286 
35287 static const char kZoneNameIsrael[] ACE_TIME_PROGMEM = "Israel";
35288 
35289 const complete::ZoneInfo kZoneIsrael ACE_TIME_PROGMEM = {
35290  kZoneNameIsrael /*name*/,
35291  0xba88c9e5 /*zoneId*/,
35292  &kZoneContext /*zoneContext*/,
35293  3 /*numEras*/,
35294  kZoneEraAsia_Jerusalem /*eras*/,
35295  &kZoneAsia_Jerusalem /*targetInfo*/,
35296 };
35297 
35298 //---------------------------------------------------------------------------
35299 // Link name: Jamaica -> America/Jamaica
35300 //---------------------------------------------------------------------------
35301 
35302 static const char kZoneNameJamaica[] ACE_TIME_PROGMEM = "Jamaica";
35303 
35304 const complete::ZoneInfo kZoneJamaica ACE_TIME_PROGMEM = {
35305  kZoneNameJamaica /*name*/,
35306  0x2e44fdab /*zoneId*/,
35307  &kZoneContext /*zoneContext*/,
35308  5 /*numEras*/,
35309  kZoneEraAmerica_Jamaica /*eras*/,
35310  &kZoneAmerica_Jamaica /*targetInfo*/,
35311 };
35312 
35313 //---------------------------------------------------------------------------
35314 // Link name: Japan -> Asia/Tokyo
35315 //---------------------------------------------------------------------------
35316 
35317 static const char kZoneNameJapan[] ACE_TIME_PROGMEM = "Japan";
35318 
35319 const complete::ZoneInfo kZoneJapan ACE_TIME_PROGMEM = {
35320  kZoneNameJapan /*name*/,
35321  0x0d712f8f /*zoneId*/,
35322  &kZoneContext /*zoneContext*/,
35323  2 /*numEras*/,
35324  kZoneEraAsia_Tokyo /*eras*/,
35325  &kZoneAsia_Tokyo /*targetInfo*/,
35326 };
35327 
35328 //---------------------------------------------------------------------------
35329 // Link name: Kwajalein -> Pacific/Kwajalein
35330 //---------------------------------------------------------------------------
35331 
35332 static const char kZoneNameKwajalein[] ACE_TIME_PROGMEM = "Kwajalein";
35333 
35334 const complete::ZoneInfo kZoneKwajalein ACE_TIME_PROGMEM = {
35335  kZoneNameKwajalein /*name*/,
35336  0x0e57afbb /*zoneId*/,
35337  &kZoneContext /*zoneContext*/,
35338  7 /*numEras*/,
35339  kZoneEraPacific_Kwajalein /*eras*/,
35340  &kZonePacific_Kwajalein /*targetInfo*/,
35341 };
35342 
35343 //---------------------------------------------------------------------------
35344 // Link name: Libya -> Africa/Tripoli
35345 //---------------------------------------------------------------------------
35346 
35347 static const char kZoneNameLibya[] ACE_TIME_PROGMEM = "Libya";
35348 
35349 const complete::ZoneInfo kZoneLibya ACE_TIME_PROGMEM = {
35350  kZoneNameLibya /*name*/,
35351  0x0d998b16 /*zoneId*/,
35352  &kZoneContext /*zoneContext*/,
35353  9 /*numEras*/,
35354  kZoneEraAfrica_Tripoli /*eras*/,
35355  &kZoneAfrica_Tripoli /*targetInfo*/,
35356 };
35357 
35358 //---------------------------------------------------------------------------
35359 // Link name: MET -> Europe/Brussels
35360 //---------------------------------------------------------------------------
35361 
35362 static const char kZoneNameMET[] ACE_TIME_PROGMEM = "MET";
35363 
35364 const complete::ZoneInfo kZoneMET ACE_TIME_PROGMEM = {
35365  kZoneNameMET /*name*/,
35366  0x0b8803ab /*zoneId*/,
35367  &kZoneContext /*zoneContext*/,
35368  9 /*numEras*/,
35369  kZoneEraEurope_Brussels /*eras*/,
35370  &kZoneEurope_Brussels /*targetInfo*/,
35371 };
35372 
35373 //---------------------------------------------------------------------------
35374 // Link name: MST -> America/Phoenix
35375 //---------------------------------------------------------------------------
35376 
35377 static const char kZoneNameMST[] ACE_TIME_PROGMEM = "MST";
35378 
35379 const complete::ZoneInfo kZoneMST ACE_TIME_PROGMEM = {
35380  kZoneNameMST /*name*/,
35381  0x0b880579 /*zoneId*/,
35382  &kZoneContext /*zoneContext*/,
35383  7 /*numEras*/,
35384  kZoneEraAmerica_Phoenix /*eras*/,
35385  &kZoneAmerica_Phoenix /*targetInfo*/,
35386 };
35387 
35388 //---------------------------------------------------------------------------
35389 // Link name: MST7MDT -> America/Denver
35390 //---------------------------------------------------------------------------
35391 
35392 static const char kZoneNameMST7MDT[] ACE_TIME_PROGMEM = "MST7MDT";
35393 
35394 const complete::ZoneInfo kZoneMST7MDT ACE_TIME_PROGMEM = {
35395  kZoneNameMST7MDT /*name*/,
35396  0xf2af9375 /*zoneId*/,
35397  &kZoneContext /*zoneContext*/,
35398  6 /*numEras*/,
35399  kZoneEraAmerica_Denver /*eras*/,
35400  &kZoneAmerica_Denver /*targetInfo*/,
35401 };
35402 
35403 //---------------------------------------------------------------------------
35404 // Link name: Mexico/BajaNorte -> America/Tijuana
35405 //---------------------------------------------------------------------------
35406 
35407 static const char kZoneNameMexico_BajaNorte[] ACE_TIME_PROGMEM = "Mexico/BajaNorte";
35408 
35409 const complete::ZoneInfo kZoneMexico_BajaNorte ACE_TIME_PROGMEM = {
35410  kZoneNameMexico_BajaNorte /*name*/,
35411  0xfcf7150f /*zoneId*/,
35412  &kZoneContext /*zoneContext*/,
35413  25 /*numEras*/,
35414  kZoneEraAmerica_Tijuana /*eras*/,
35415  &kZoneAmerica_Tijuana /*targetInfo*/,
35416 };
35417 
35418 //---------------------------------------------------------------------------
35419 // Link name: Mexico/BajaSur -> America/Mazatlan
35420 //---------------------------------------------------------------------------
35421 
35422 static const char kZoneNameMexico_BajaSur[] ACE_TIME_PROGMEM = "Mexico/BajaSur";
35423 
35424 const complete::ZoneInfo kZoneMexico_BajaSur ACE_TIME_PROGMEM = {
35425  kZoneNameMexico_BajaSur /*name*/,
35426  0x08ee3641 /*zoneId*/,
35427  &kZoneContext /*zoneContext*/,
35428  7 /*numEras*/,
35429  kZoneEraAmerica_Mazatlan /*eras*/,
35430  &kZoneAmerica_Mazatlan /*targetInfo*/,
35431 };
35432 
35433 //---------------------------------------------------------------------------
35434 // Link name: Mexico/General -> America/Mexico_City
35435 //---------------------------------------------------------------------------
35436 
35437 static const char kZoneNameMexico_General[] ACE_TIME_PROGMEM = "Mexico/General";
35438 
35439 const complete::ZoneInfo kZoneMexico_General ACE_TIME_PROGMEM = {
35440  kZoneNameMexico_General /*name*/,
35441  0x93711d57 /*zoneId*/,
35442  &kZoneContext /*zoneContext*/,
35443  7 /*numEras*/,
35444  kZoneEraAmerica_Mexico_City /*eras*/,
35445  &kZoneAmerica_Mexico_City /*targetInfo*/,
35446 };
35447 
35448 //---------------------------------------------------------------------------
35449 // Link name: NZ -> Pacific/Auckland
35450 //---------------------------------------------------------------------------
35451 
35452 static const char kZoneNameNZ[] ACE_TIME_PROGMEM = "NZ";
35453 
35454 const complete::ZoneInfo kZoneNZ ACE_TIME_PROGMEM = {
35455  kZoneNameNZ /*name*/,
35456  0x005974ad /*zoneId*/,
35457  &kZoneContext /*zoneContext*/,
35458  3 /*numEras*/,
35459  kZoneEraPacific_Auckland /*eras*/,
35460  &kZonePacific_Auckland /*targetInfo*/,
35461 };
35462 
35463 //---------------------------------------------------------------------------
35464 // Link name: NZ-CHAT -> Pacific/Chatham
35465 //---------------------------------------------------------------------------
35466 
35467 static const char kZoneNameNZ_CHAT[] ACE_TIME_PROGMEM = "NZ-CHAT";
35468 
35469 const complete::ZoneInfo kZoneNZ_CHAT ACE_TIME_PROGMEM = {
35470  kZoneNameNZ_CHAT /*name*/,
35471  0x4d42afda /*zoneId*/,
35472  &kZoneContext /*zoneContext*/,
35473  3 /*numEras*/,
35474  kZoneEraPacific_Chatham /*eras*/,
35475  &kZonePacific_Chatham /*targetInfo*/,
35476 };
35477 
35478 //---------------------------------------------------------------------------
35479 // Link name: Navajo -> America/Denver
35480 //---------------------------------------------------------------------------
35481 
35482 static const char kZoneNameNavajo[] ACE_TIME_PROGMEM = "Navajo";
35483 
35484 const complete::ZoneInfo kZoneNavajo ACE_TIME_PROGMEM = {
35485  kZoneNameNavajo /*name*/,
35486  0xc4ef0e24 /*zoneId*/,
35487  &kZoneContext /*zoneContext*/,
35488  6 /*numEras*/,
35489  kZoneEraAmerica_Denver /*eras*/,
35490  &kZoneAmerica_Denver /*targetInfo*/,
35491 };
35492 
35493 //---------------------------------------------------------------------------
35494 // Link name: PRC -> Asia/Shanghai
35495 //---------------------------------------------------------------------------
35496 
35497 static const char kZoneNamePRC[] ACE_TIME_PROGMEM = "PRC";
35498 
35499 const complete::ZoneInfo kZonePRC ACE_TIME_PROGMEM = {
35500  kZoneNamePRC /*name*/,
35501  0x0b88120a /*zoneId*/,
35502  &kZoneContext /*zoneContext*/,
35503  3 /*numEras*/,
35504  kZoneEraAsia_Shanghai /*eras*/,
35505  &kZoneAsia_Shanghai /*targetInfo*/,
35506 };
35507 
35508 //---------------------------------------------------------------------------
35509 // Link name: PST8PDT -> America/Los_Angeles
35510 //---------------------------------------------------------------------------
35511 
35512 static const char kZoneNamePST8PDT[] ACE_TIME_PROGMEM = "PST8PDT";
35513 
35514 const complete::ZoneInfo kZonePST8PDT ACE_TIME_PROGMEM = {
35515  kZoneNamePST8PDT /*name*/,
35516  0xd99ee2dc /*zoneId*/,
35517  &kZoneContext /*zoneContext*/,
35518  4 /*numEras*/,
35519  kZoneEraAmerica_Los_Angeles /*eras*/,
35520  &kZoneAmerica_Los_Angeles /*targetInfo*/,
35521 };
35522 
35523 //---------------------------------------------------------------------------
35524 // Link name: Pacific/Chuuk -> Pacific/Port_Moresby
35525 //---------------------------------------------------------------------------
35526 
35527 static const char kZoneNamePacific_Chuuk[] ACE_TIME_PROGMEM = "\x0e" "Chuuk";
35528 
35529 const complete::ZoneInfo kZonePacific_Chuuk ACE_TIME_PROGMEM = {
35530  kZoneNamePacific_Chuuk /*name*/,
35531  0x8a090b23 /*zoneId*/,
35532  &kZoneContext /*zoneContext*/,
35533  3 /*numEras*/,
35534  kZoneEraPacific_Port_Moresby /*eras*/,
35535  &kZonePacific_Port_Moresby /*targetInfo*/,
35536 };
35537 
35538 //---------------------------------------------------------------------------
35539 // Link name: Pacific/Enderbury -> Pacific/Kanton
35540 //---------------------------------------------------------------------------
35541 
35542 static const char kZoneNamePacific_Enderbury[] ACE_TIME_PROGMEM = "\x0e" "Enderbury";
35543 
35544 const complete::ZoneInfo kZonePacific_Enderbury ACE_TIME_PROGMEM = {
35545  kZoneNamePacific_Enderbury /*name*/,
35546  0x61599a93 /*zoneId*/,
35547  &kZoneContext /*zoneContext*/,
35548  4 /*numEras*/,
35549  kZoneEraPacific_Kanton /*eras*/,
35550  &kZonePacific_Kanton /*targetInfo*/,
35551 };
35552 
35553 //---------------------------------------------------------------------------
35554 // Link name: Pacific/Funafuti -> Pacific/Tarawa
35555 //---------------------------------------------------------------------------
35556 
35557 static const char kZoneNamePacific_Funafuti[] ACE_TIME_PROGMEM = "\x0e" "Funafuti";
35558 
35559 const complete::ZoneInfo kZonePacific_Funafuti ACE_TIME_PROGMEM = {
35560  kZoneNamePacific_Funafuti /*name*/,
35561  0xdb402d65 /*zoneId*/,
35562  &kZoneContext /*zoneContext*/,
35563  2 /*numEras*/,
35564  kZoneEraPacific_Tarawa /*eras*/,
35565  &kZonePacific_Tarawa /*targetInfo*/,
35566 };
35567 
35568 //---------------------------------------------------------------------------
35569 // Link name: Pacific/Johnston -> Pacific/Honolulu
35570 //---------------------------------------------------------------------------
35571 
35572 static const char kZoneNamePacific_Johnston[] ACE_TIME_PROGMEM = "\x0e" "Johnston";
35573 
35574 const complete::ZoneInfo kZonePacific_Johnston ACE_TIME_PROGMEM = {
35575  kZoneNamePacific_Johnston /*name*/,
35576  0xb15d7b36 /*zoneId*/,
35577  &kZoneContext /*zoneContext*/,
35578  5 /*numEras*/,
35579  kZoneEraPacific_Honolulu /*eras*/,
35580  &kZonePacific_Honolulu /*targetInfo*/,
35581 };
35582 
35583 //---------------------------------------------------------------------------
35584 // Link name: Pacific/Majuro -> Pacific/Tarawa
35585 //---------------------------------------------------------------------------
35586 
35587 static const char kZoneNamePacific_Majuro[] ACE_TIME_PROGMEM = "\x0e" "Majuro";
35588 
35589 const complete::ZoneInfo kZonePacific_Majuro ACE_TIME_PROGMEM = {
35590  kZoneNamePacific_Majuro /*name*/,
35591  0xe1f95371 /*zoneId*/,
35592  &kZoneContext /*zoneContext*/,
35593  2 /*numEras*/,
35594  kZoneEraPacific_Tarawa /*eras*/,
35595  &kZonePacific_Tarawa /*targetInfo*/,
35596 };
35597 
35598 //---------------------------------------------------------------------------
35599 // Link name: Pacific/Midway -> Pacific/Pago_Pago
35600 //---------------------------------------------------------------------------
35601 
35602 static const char kZoneNamePacific_Midway[] ACE_TIME_PROGMEM = "\x0e" "Midway";
35603 
35604 const complete::ZoneInfo kZonePacific_Midway ACE_TIME_PROGMEM = {
35605  kZoneNamePacific_Midway /*name*/,
35606  0xe286d38e /*zoneId*/,
35607  &kZoneContext /*zoneContext*/,
35608  3 /*numEras*/,
35609  kZoneEraPacific_Pago_Pago /*eras*/,
35610  &kZonePacific_Pago_Pago /*targetInfo*/,
35611 };
35612 
35613 //---------------------------------------------------------------------------
35614 // Link name: Pacific/Pohnpei -> Pacific/Guadalcanal
35615 //---------------------------------------------------------------------------
35616 
35617 static const char kZoneNamePacific_Pohnpei[] ACE_TIME_PROGMEM = "\x0e" "Pohnpei";
35618 
35619 const complete::ZoneInfo kZonePacific_Pohnpei ACE_TIME_PROGMEM = {
35620  kZoneNamePacific_Pohnpei /*name*/,
35621  0x28929f96 /*zoneId*/,
35622  &kZoneContext /*zoneContext*/,
35623  2 /*numEras*/,
35624  kZoneEraPacific_Guadalcanal /*eras*/,
35625  &kZonePacific_Guadalcanal /*targetInfo*/,
35626 };
35627 
35628 //---------------------------------------------------------------------------
35629 // Link name: Pacific/Ponape -> Pacific/Guadalcanal
35630 //---------------------------------------------------------------------------
35631 
35632 static const char kZoneNamePacific_Ponape[] ACE_TIME_PROGMEM = "\x0e" "Ponape";
35633 
35634 const complete::ZoneInfo kZonePacific_Ponape ACE_TIME_PROGMEM = {
35635  kZoneNamePacific_Ponape /*name*/,
35636  0xe9f80086 /*zoneId*/,
35637  &kZoneContext /*zoneContext*/,
35638  2 /*numEras*/,
35639  kZoneEraPacific_Guadalcanal /*eras*/,
35640  &kZonePacific_Guadalcanal /*targetInfo*/,
35641 };
35642 
35643 //---------------------------------------------------------------------------
35644 // Link name: Pacific/Saipan -> Pacific/Guam
35645 //---------------------------------------------------------------------------
35646 
35647 static const char kZoneNamePacific_Saipan[] ACE_TIME_PROGMEM = "\x0e" "Saipan";
35648 
35649 const complete::ZoneInfo kZonePacific_Saipan ACE_TIME_PROGMEM = {
35650  kZoneNamePacific_Saipan /*name*/,
35651  0xeff7a35f /*zoneId*/,
35652  &kZoneContext /*zoneContext*/,
35653  6 /*numEras*/,
35654  kZoneEraPacific_Guam /*eras*/,
35655  &kZonePacific_Guam /*targetInfo*/,
35656 };
35657 
35658 //---------------------------------------------------------------------------
35659 // Link name: Pacific/Samoa -> Pacific/Pago_Pago
35660 //---------------------------------------------------------------------------
35661 
35662 static const char kZoneNamePacific_Samoa[] ACE_TIME_PROGMEM = "\x0e" "Samoa";
35663 
35664 const complete::ZoneInfo kZonePacific_Samoa ACE_TIME_PROGMEM = {
35665  kZoneNamePacific_Samoa /*name*/,
35666  0x8b2699b4 /*zoneId*/,
35667  &kZoneContext /*zoneContext*/,
35668  3 /*numEras*/,
35669  kZoneEraPacific_Pago_Pago /*eras*/,
35670  &kZonePacific_Pago_Pago /*targetInfo*/,
35671 };
35672 
35673 //---------------------------------------------------------------------------
35674 // Link name: Pacific/Truk -> Pacific/Port_Moresby
35675 //---------------------------------------------------------------------------
35676 
35677 static const char kZoneNamePacific_Truk[] ACE_TIME_PROGMEM = "\x0e" "Truk";
35678 
35679 const complete::ZoneInfo kZonePacific_Truk ACE_TIME_PROGMEM = {
35680  kZoneNamePacific_Truk /*name*/,
35681  0x234010a9 /*zoneId*/,
35682  &kZoneContext /*zoneContext*/,
35683  3 /*numEras*/,
35684  kZoneEraPacific_Port_Moresby /*eras*/,
35685  &kZonePacific_Port_Moresby /*targetInfo*/,
35686 };
35687 
35688 //---------------------------------------------------------------------------
35689 // Link name: Pacific/Wake -> Pacific/Tarawa
35690 //---------------------------------------------------------------------------
35691 
35692 static const char kZoneNamePacific_Wake[] ACE_TIME_PROGMEM = "\x0e" "Wake";
35693 
35694 const complete::ZoneInfo kZonePacific_Wake ACE_TIME_PROGMEM = {
35695  kZoneNamePacific_Wake /*name*/,
35696  0x23416c2b /*zoneId*/,
35697  &kZoneContext /*zoneContext*/,
35698  2 /*numEras*/,
35699  kZoneEraPacific_Tarawa /*eras*/,
35700  &kZonePacific_Tarawa /*targetInfo*/,
35701 };
35702 
35703 //---------------------------------------------------------------------------
35704 // Link name: Pacific/Wallis -> Pacific/Tarawa
35705 //---------------------------------------------------------------------------
35706 
35707 static const char kZoneNamePacific_Wallis[] ACE_TIME_PROGMEM = "\x0e" "Wallis";
35708 
35709 const complete::ZoneInfo kZonePacific_Wallis ACE_TIME_PROGMEM = {
35710  kZoneNamePacific_Wallis /*name*/,
35711  0xf94ddb0f /*zoneId*/,
35712  &kZoneContext /*zoneContext*/,
35713  2 /*numEras*/,
35714  kZoneEraPacific_Tarawa /*eras*/,
35715  &kZonePacific_Tarawa /*targetInfo*/,
35716 };
35717 
35718 //---------------------------------------------------------------------------
35719 // Link name: Pacific/Yap -> Pacific/Port_Moresby
35720 //---------------------------------------------------------------------------
35721 
35722 static const char kZoneNamePacific_Yap[] ACE_TIME_PROGMEM = "\x0e" "Yap";
35723 
35724 const complete::ZoneInfo kZonePacific_Yap ACE_TIME_PROGMEM = {
35725  kZoneNamePacific_Yap /*name*/,
35726  0xbb40138d /*zoneId*/,
35727  &kZoneContext /*zoneContext*/,
35728  3 /*numEras*/,
35729  kZoneEraPacific_Port_Moresby /*eras*/,
35730  &kZonePacific_Port_Moresby /*targetInfo*/,
35731 };
35732 
35733 //---------------------------------------------------------------------------
35734 // Link name: Poland -> Europe/Warsaw
35735 //---------------------------------------------------------------------------
35736 
35737 static const char kZoneNamePoland[] ACE_TIME_PROGMEM = "Poland";
35738 
35739 const complete::ZoneInfo kZonePoland ACE_TIME_PROGMEM = {
35740  kZoneNamePoland /*name*/,
35741  0xca913b23 /*zoneId*/,
35742  &kZoneContext /*zoneContext*/,
35743  9 /*numEras*/,
35744  kZoneEraEurope_Warsaw /*eras*/,
35745  &kZoneEurope_Warsaw /*targetInfo*/,
35746 };
35747 
35748 //---------------------------------------------------------------------------
35749 // Link name: Portugal -> Europe/Lisbon
35750 //---------------------------------------------------------------------------
35751 
35752 static const char kZoneNamePortugal[] ACE_TIME_PROGMEM = "Portugal";
35753 
35754 const complete::ZoneInfo kZonePortugal ACE_TIME_PROGMEM = {
35755  kZoneNamePortugal /*name*/,
35756  0xc3274593 /*zoneId*/,
35757  &kZoneContext /*zoneContext*/,
35758  8 /*numEras*/,
35759  kZoneEraEurope_Lisbon /*eras*/,
35760  &kZoneEurope_Lisbon /*targetInfo*/,
35761 };
35762 
35763 //---------------------------------------------------------------------------
35764 // Link name: ROC -> Asia/Taipei
35765 //---------------------------------------------------------------------------
35766 
35767 static const char kZoneNameROC[] ACE_TIME_PROGMEM = "ROC";
35768 
35769 const complete::ZoneInfo kZoneROC ACE_TIME_PROGMEM = {
35770  kZoneNameROC /*name*/,
35771  0x0b881a29 /*zoneId*/,
35772  &kZoneContext /*zoneContext*/,
35773  4 /*numEras*/,
35774  kZoneEraAsia_Taipei /*eras*/,
35775  &kZoneAsia_Taipei /*targetInfo*/,
35776 };
35777 
35778 //---------------------------------------------------------------------------
35779 // Link name: ROK -> Asia/Seoul
35780 //---------------------------------------------------------------------------
35781 
35782 static const char kZoneNameROK[] ACE_TIME_PROGMEM = "ROK";
35783 
35784 const complete::ZoneInfo kZoneROK ACE_TIME_PROGMEM = {
35785  kZoneNameROK /*name*/,
35786  0x0b881a31 /*zoneId*/,
35787  &kZoneContext /*zoneContext*/,
35788  6 /*numEras*/,
35789  kZoneEraAsia_Seoul /*eras*/,
35790  &kZoneAsia_Seoul /*targetInfo*/,
35791 };
35792 
35793 //---------------------------------------------------------------------------
35794 // Link name: Singapore -> Asia/Singapore
35795 //---------------------------------------------------------------------------
35796 
35797 static const char kZoneNameSingapore[] ACE_TIME_PROGMEM = "Singapore";
35798 
35799 const complete::ZoneInfo kZoneSingapore ACE_TIME_PROGMEM = {
35800  kZoneNameSingapore /*name*/,
35801  0xa8598c8d /*zoneId*/,
35802  &kZoneContext /*zoneContext*/,
35803  9 /*numEras*/,
35804  kZoneEraAsia_Singapore /*eras*/,
35805  &kZoneAsia_Singapore /*targetInfo*/,
35806 };
35807 
35808 //---------------------------------------------------------------------------
35809 // Link name: Turkey -> Europe/Istanbul
35810 //---------------------------------------------------------------------------
35811 
35812 static const char kZoneNameTurkey[] ACE_TIME_PROGMEM = "Turkey";
35813 
35814 const complete::ZoneInfo kZoneTurkey ACE_TIME_PROGMEM = {
35815  kZoneNameTurkey /*name*/,
35816  0xd455e469 /*zoneId*/,
35817  &kZoneContext /*zoneContext*/,
35818  13 /*numEras*/,
35819  kZoneEraEurope_Istanbul /*eras*/,
35820  &kZoneEurope_Istanbul /*targetInfo*/,
35821 };
35822 
35823 //---------------------------------------------------------------------------
35824 // Link name: UCT -> Etc/UTC
35825 //---------------------------------------------------------------------------
35826 
35827 static const char kZoneNameUCT[] ACE_TIME_PROGMEM = "UCT";
35828 
35829 const complete::ZoneInfo kZoneUCT ACE_TIME_PROGMEM = {
35830  kZoneNameUCT /*name*/,
35831  0x0b882571 /*zoneId*/,
35832  &kZoneContext /*zoneContext*/,
35833  1 /*numEras*/,
35834  kZoneEraEtc_UTC /*eras*/,
35835  &kZoneEtc_UTC /*targetInfo*/,
35836 };
35837 
35838 //---------------------------------------------------------------------------
35839 // Link name: US/Alaska -> America/Anchorage
35840 //---------------------------------------------------------------------------
35841 
35842 static const char kZoneNameUS_Alaska[] ACE_TIME_PROGMEM = "US/Alaska";
35843 
35844 const complete::ZoneInfo kZoneUS_Alaska ACE_TIME_PROGMEM = {
35845  kZoneNameUS_Alaska /*name*/,
35846  0xfa300bc9 /*zoneId*/,
35847  &kZoneContext /*zoneContext*/,
35848  8 /*numEras*/,
35849  kZoneEraAmerica_Anchorage /*eras*/,
35850  &kZoneAmerica_Anchorage /*targetInfo*/,
35851 };
35852 
35853 //---------------------------------------------------------------------------
35854 // Link name: US/Aleutian -> America/Adak
35855 //---------------------------------------------------------------------------
35856 
35857 static const char kZoneNameUS_Aleutian[] ACE_TIME_PROGMEM = "US/Aleutian";
35858 
35859 const complete::ZoneInfo kZoneUS_Aleutian ACE_TIME_PROGMEM = {
35860  kZoneNameUS_Aleutian /*name*/,
35861  0x4fe013ef /*zoneId*/,
35862  &kZoneContext /*zoneContext*/,
35863  9 /*numEras*/,
35864  kZoneEraAmerica_Adak /*eras*/,
35865  &kZoneAmerica_Adak /*targetInfo*/,
35866 };
35867 
35868 //---------------------------------------------------------------------------
35869 // Link name: US/Arizona -> America/Phoenix
35870 //---------------------------------------------------------------------------
35871 
35872 static const char kZoneNameUS_Arizona[] ACE_TIME_PROGMEM = "US/Arizona";
35873 
35874 const complete::ZoneInfo kZoneUS_Arizona ACE_TIME_PROGMEM = {
35875  kZoneNameUS_Arizona /*name*/,
35876  0x4ec52670 /*zoneId*/,
35877  &kZoneContext /*zoneContext*/,
35878  7 /*numEras*/,
35879  kZoneEraAmerica_Phoenix /*eras*/,
35880  &kZoneAmerica_Phoenix /*targetInfo*/,
35881 };
35882 
35883 //---------------------------------------------------------------------------
35884 // Link name: US/Central -> America/Chicago
35885 //---------------------------------------------------------------------------
35886 
35887 static const char kZoneNameUS_Central[] ACE_TIME_PROGMEM = "US/Central";
35888 
35889 const complete::ZoneInfo kZoneUS_Central ACE_TIME_PROGMEM = {
35890  kZoneNameUS_Central /*name*/,
35891  0xcabdcb25 /*zoneId*/,
35892  &kZoneContext /*zoneContext*/,
35893  8 /*numEras*/,
35894  kZoneEraAmerica_Chicago /*eras*/,
35895  &kZoneAmerica_Chicago /*targetInfo*/,
35896 };
35897 
35898 //---------------------------------------------------------------------------
35899 // Link name: US/East-Indiana -> America/Indiana/Indianapolis
35900 //---------------------------------------------------------------------------
35901 
35902 static const char kZoneNameUS_East_Indiana[] ACE_TIME_PROGMEM = "US/East-Indiana";
35903 
35904 const complete::ZoneInfo kZoneUS_East_Indiana ACE_TIME_PROGMEM = {
35905  kZoneNameUS_East_Indiana /*name*/,
35906  0x6dcf558a /*zoneId*/,
35907  &kZoneContext /*zoneContext*/,
35908  11 /*numEras*/,
35909  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
35910  &kZoneAmerica_Indiana_Indianapolis /*targetInfo*/,
35911 };
35912 
35913 //---------------------------------------------------------------------------
35914 // Link name: US/Eastern -> America/New_York
35915 //---------------------------------------------------------------------------
35916 
35917 static const char kZoneNameUS_Eastern[] ACE_TIME_PROGMEM = "US/Eastern";
35918 
35919 const complete::ZoneInfo kZoneUS_Eastern ACE_TIME_PROGMEM = {
35920  kZoneNameUS_Eastern /*name*/,
35921  0x5bb7e78e /*zoneId*/,
35922  &kZoneContext /*zoneContext*/,
35923  6 /*numEras*/,
35924  kZoneEraAmerica_New_York /*eras*/,
35925  &kZoneAmerica_New_York /*targetInfo*/,
35926 };
35927 
35928 //---------------------------------------------------------------------------
35929 // Link name: US/Hawaii -> Pacific/Honolulu
35930 //---------------------------------------------------------------------------
35931 
35932 static const char kZoneNameUS_Hawaii[] ACE_TIME_PROGMEM = "US/Hawaii";
35933 
35934 const complete::ZoneInfo kZoneUS_Hawaii ACE_TIME_PROGMEM = {
35935  kZoneNameUS_Hawaii /*name*/,
35936  0x09c8de2f /*zoneId*/,
35937  &kZoneContext /*zoneContext*/,
35938  5 /*numEras*/,
35939  kZoneEraPacific_Honolulu /*eras*/,
35940  &kZonePacific_Honolulu /*targetInfo*/,
35941 };
35942 
35943 //---------------------------------------------------------------------------
35944 // Link name: US/Indiana-Starke -> America/Indiana/Knox
35945 //---------------------------------------------------------------------------
35946 
35947 static const char kZoneNameUS_Indiana_Starke[] ACE_TIME_PROGMEM = "US/Indiana-Starke";
35948 
35949 const complete::ZoneInfo kZoneUS_Indiana_Starke ACE_TIME_PROGMEM = {
35950  kZoneNameUS_Indiana_Starke /*name*/,
35951  0x67977be7 /*zoneId*/,
35952  &kZoneContext /*zoneContext*/,
35953  7 /*numEras*/,
35954  kZoneEraAmerica_Indiana_Knox /*eras*/,
35955  &kZoneAmerica_Indiana_Knox /*targetInfo*/,
35956 };
35957 
35958 //---------------------------------------------------------------------------
35959 // Link name: US/Michigan -> America/Detroit
35960 //---------------------------------------------------------------------------
35961 
35962 static const char kZoneNameUS_Michigan[] ACE_TIME_PROGMEM = "US/Michigan";
35963 
35964 const complete::ZoneInfo kZoneUS_Michigan ACE_TIME_PROGMEM = {
35965  kZoneNameUS_Michigan /*name*/,
35966  0x766bb7bc /*zoneId*/,
35967  &kZoneContext /*zoneContext*/,
35968  10 /*numEras*/,
35969  kZoneEraAmerica_Detroit /*eras*/,
35970  &kZoneAmerica_Detroit /*targetInfo*/,
35971 };
35972 
35973 //---------------------------------------------------------------------------
35974 // Link name: US/Mountain -> America/Denver
35975 //---------------------------------------------------------------------------
35976 
35977 static const char kZoneNameUS_Mountain[] ACE_TIME_PROGMEM = "US/Mountain";
35978 
35979 const complete::ZoneInfo kZoneUS_Mountain ACE_TIME_PROGMEM = {
35980  kZoneNameUS_Mountain /*name*/,
35981  0x6eb88247 /*zoneId*/,
35982  &kZoneContext /*zoneContext*/,
35983  6 /*numEras*/,
35984  kZoneEraAmerica_Denver /*eras*/,
35985  &kZoneAmerica_Denver /*targetInfo*/,
35986 };
35987 
35988 //---------------------------------------------------------------------------
35989 // Link name: US/Pacific -> America/Los_Angeles
35990 //---------------------------------------------------------------------------
35991 
35992 static const char kZoneNameUS_Pacific[] ACE_TIME_PROGMEM = "US/Pacific";
35993 
35994 const complete::ZoneInfo kZoneUS_Pacific ACE_TIME_PROGMEM = {
35995  kZoneNameUS_Pacific /*name*/,
35996  0xa950f6ab /*zoneId*/,
35997  &kZoneContext /*zoneContext*/,
35998  4 /*numEras*/,
35999  kZoneEraAmerica_Los_Angeles /*eras*/,
36000  &kZoneAmerica_Los_Angeles /*targetInfo*/,
36001 };
36002 
36003 //---------------------------------------------------------------------------
36004 // Link name: US/Samoa -> Pacific/Pago_Pago
36005 //---------------------------------------------------------------------------
36006 
36007 static const char kZoneNameUS_Samoa[] ACE_TIME_PROGMEM = "US/Samoa";
36008 
36009 const complete::ZoneInfo kZoneUS_Samoa ACE_TIME_PROGMEM = {
36010  kZoneNameUS_Samoa /*name*/,
36011  0x566821cd /*zoneId*/,
36012  &kZoneContext /*zoneContext*/,
36013  3 /*numEras*/,
36014  kZoneEraPacific_Pago_Pago /*eras*/,
36015  &kZonePacific_Pago_Pago /*targetInfo*/,
36016 };
36017 
36018 //---------------------------------------------------------------------------
36019 // Link name: UTC -> Etc/UTC
36020 //---------------------------------------------------------------------------
36021 
36022 static const char kZoneNameUTC[] ACE_TIME_PROGMEM = "UTC";
36023 
36024 const complete::ZoneInfo kZoneUTC ACE_TIME_PROGMEM = {
36025  kZoneNameUTC /*name*/,
36026  0x0b882791 /*zoneId*/,
36027  &kZoneContext /*zoneContext*/,
36028  1 /*numEras*/,
36029  kZoneEraEtc_UTC /*eras*/,
36030  &kZoneEtc_UTC /*targetInfo*/,
36031 };
36032 
36033 //---------------------------------------------------------------------------
36034 // Link name: Universal -> Etc/UTC
36035 //---------------------------------------------------------------------------
36036 
36037 static const char kZoneNameUniversal[] ACE_TIME_PROGMEM = "Universal";
36038 
36039 const complete::ZoneInfo kZoneUniversal ACE_TIME_PROGMEM = {
36040  kZoneNameUniversal /*name*/,
36041  0xd0ff523e /*zoneId*/,
36042  &kZoneContext /*zoneContext*/,
36043  1 /*numEras*/,
36044  kZoneEraEtc_UTC /*eras*/,
36045  &kZoneEtc_UTC /*targetInfo*/,
36046 };
36047 
36048 //---------------------------------------------------------------------------
36049 // Link name: W-SU -> Europe/Moscow
36050 //---------------------------------------------------------------------------
36051 
36052 static const char kZoneNameW_SU[] ACE_TIME_PROGMEM = "W-SU";
36053 
36054 const complete::ZoneInfo kZoneW_SU ACE_TIME_PROGMEM = {
36055  kZoneNameW_SU /*name*/,
36056  0x7c8d8ef1 /*zoneId*/,
36057  &kZoneContext /*zoneContext*/,
36058  11 /*numEras*/,
36059  kZoneEraEurope_Moscow /*eras*/,
36060  &kZoneEurope_Moscow /*targetInfo*/,
36061 };
36062 
36063 //---------------------------------------------------------------------------
36064 // Link name: WET -> Europe/Lisbon
36065 //---------------------------------------------------------------------------
36066 
36067 static const char kZoneNameWET[] ACE_TIME_PROGMEM = "WET";
36068 
36069 const complete::ZoneInfo kZoneWET ACE_TIME_PROGMEM = {
36070  kZoneNameWET /*name*/,
36071  0x0b882e35 /*zoneId*/,
36072  &kZoneContext /*zoneContext*/,
36073  8 /*numEras*/,
36074  kZoneEraEurope_Lisbon /*eras*/,
36075  &kZoneEurope_Lisbon /*targetInfo*/,
36076 };
36077 
36078 //---------------------------------------------------------------------------
36079 // Link name: Zulu -> Etc/UTC
36080 //---------------------------------------------------------------------------
36081 
36082 static const char kZoneNameZulu[] ACE_TIME_PROGMEM = "Zulu";
36083 
36084 const complete::ZoneInfo kZoneZulu ACE_TIME_PROGMEM = {
36085  kZoneNameZulu /*name*/,
36086  0x7c9069b5 /*zoneId*/,
36087  &kZoneContext /*zoneContext*/,
36088  1 /*numEras*/,
36089  kZoneEraEtc_UTC /*eras*/,
36090  &kZoneEtc_UTC /*targetInfo*/,
36091 };
36092 
36093 
36094 }
36095 }
Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...